Fallos del tipo CWE-570

1 resultado

Expressão sempre falsa

Quando o código contém uma condição lógica que avalia constantemente para falso, independentemente dos valores das variáveis envolvidas. Isso geralmente indica um erro de lógica — operador errado, variável trocada ou typo — que faz com que um trecho de código nunca seja executado, comprometendo a segurança ou a funcionalidade esperada.

Ejemplo

Um validador que deveria rejeitar valores negativos mas escreve `if (x < 0 && x > 100)` em vez de `if (x < 0 || x > 100)`. A primeira condição nunca é verdadeira, então a validação não funciona e valores inválidos passam.

Cómo mitigar

Use análise estática (linters, SonarQube, Coverity) para detectar condições sempre falsas/verdadeiras. Implemente testes unitários que cobrem os casos-limite. Revise lógica booleana em controles de segurança com atenção especial a operadores AND/OR.