Reino: Errors

Os erros e o processamento de erros representam uma classe de API. Erros relacionados com o processamento de erros são tão comuns que merecem um domínio próprio. Assim como no “abuso de API”, há duas formas de introduzir uma vulnerabilidade de segurança relacionada com erros. A primeira, e mais comum, é processar os erros indevidamente (ou não os processar). A segunda é produzir erros que revelem muitas informações (a possíveis invasores) ou que sejam difíceis de processar.

Code Correctness: Typographical Error

Abstract
O contrato usa uma operação sujeita a erros tipográficos.
Explanation
Um erro tipográfico em uma operação pode levar a resultados inesperados. Por exemplo, se a intenção é adicionar um número a uma variável usando +=, mas está escrito como =+, a operação ainda será válida. Porém, em vez de realizar a adição, a variável será reinicializada.

Exemplo 1 O código a seguir destina-se a adicionar um número à variável numberOne. No entanto, usar o operador =+ na verdade reinicializa a variável para 1.


uint numberOne = 1;

function alwaysOne() public {
numberOne =+ 1;
}
References
[1] Enterprise Ethereum Alliance Typographic Conventions
[2] Standards Mapping - CIS Azure Kubernetes Service Benchmark 2
[3] Standards Mapping - CIS Amazon Elastic Kubernetes Service Benchmark 5
[4] Standards Mapping - CIS Amazon Web Services Foundations Benchmark 3
[5] Standards Mapping - CIS Google Kubernetes Engine Benchmark normal
[6] Standards Mapping - Common Weakness Enumeration CWE ID 480
[7] Standards Mapping - Smart Contract Weakness Classification SWC-129
desc.structural.solidity.swc129