Reino: Code Quality
Una mala calidad del código lleva a un comportamiento no predecible. Desde la perspectiva de un usuario, muchas veces también supone una usabilidad limitada. Pero para un atacante es una oportunidad para atacar al sistema de formas insospechadas.
Code Correctness: Erroneous Null Comparison
Abstract
Las expresiones
x = NULL
y x != NULL
siempre serán falsas.Explanation
En PL/SQL, el valor de
Ejemplo 1: la siguiente instrucción siempre será falsa.
NULL
es indeterminado. No es igual a ningún valor, ni incluso a otro valor NULL
. Además, un valor null
nunca es igual a otro valor.Ejemplo 1: la siguiente instrucción siempre será falsa.
Ejemplo 2: la siguiente instrucción siempre será falsa.
checkNull BOOLEAN := x = NULL;
checkNotNull BOOLEAN := x != NULL;
References
[1] Steven Feuerstein Oracle PL/SQL Best Practices O'Reilly
[2] Standards Mapping - Common Weakness Enumeration CWE ID 480
desc.structural.sql.code_correctness_erroneous_null_comparison_plsql