Fallos del tipo CWE-456

8 resultados

Variável não inicializada

Ocorre quando uma variável é declarada mas nunca recebe um valor inicial antes de ser usada. O código assume um estado padrão (como zero ou null) que pode não existir, levando a comportamentos impredizíveis, vazamento de informação ou crashes. Em linguagens como C/C++, variáveis locais não inicializadas contêm lixo de memória.

Ejemplo

Um programa aloca uma estrutura mas esquece de zerar os campos; depois verifica um campo booleano para decidir se autoriza acesso. Se aquele byte da memória tinha valor 1 por coincidência, acesso é concedido indevidamente. Ou uma variável de contador nunca recebe 0, e o loop executa um número aleatório de vezes.

Cómo mitigar

Inicialize toda variável no ponto de declaração (int x = 0;). Use compiladores com flags de aviso ativas (-Wuninitialized em GCC/Clang). Em linguagens modernas (Java, Python, C#), prefira tipos com inicialização implícita ou use linters que detectem essa falha.