Reino: Errors

Los errores y su tratamiento representan una clase de API. Los errores relacionados con el tratamiento de errores son tan comunes que se merecen una sección por sí mismos. Tal como sucede con los "abusos de la API", hay dos formas de presentar una vulnerabilidad de seguridad relacionada con los errores: la más común es tratar los errores inadecuadamente (o no llegar a hacerlo). La segunda es producir errores que dan demasiada información (a posibles atacantes) o que son difíciles de tratar.

Code Correctness: Typographical Error

Abstract
El contrato utiliza una operación propensa a errores tipográficos.
Explanation
Un error tipográfico en una operación puede generar resultados inesperados. Por ejemplo, si la intención es agregar un número a una variable usando +=, pero está escrito como =+, la operación sigue siendo válida. Sin embargo, en lugar de realizar la suma, reinicializa la variable.

Ejemplo 1 El siguiente código está destinado a agregar un número a la variable numberOne. Sin embargo, el uso del operador =+ en realidad reinicializa la variable a 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