계: Code Quality
코드 품질이 낮으면 예측할 수 없는 동작이 발생합니다. 사용자 입장에서는 사용 편의성이 떨어지는 것으로 나타나는 경우가 많습니다. 공격자에게는 예상치 못한 방법으로 시스템에 부담을 줄 수 있는 기회가 됩니다.
Code Correctness: Erroneous Null Comparison
Abstract
x = NULL
및 x != NULL
식은 항상 false가 됩니다.Explanation
PL/SQL에서,
예제 1:다음 문은 항상 false가 됩니다.
NULL
의 값은 불명확합니다. 이는 무엇과도 같지 않으며 다른 NULL
값과도 같지 않습니다. 또한 null
값은 다른 값과도 같지 않습니다.예제 1:다음 문은 항상 false가 됩니다.
예제 2:다음 문은 항상 false가 됩니다.
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