Weaknesses of type CWE-665

166 results

Inicialização incorreta ou ausente de recurso

Ocorre quando um recurso (variável, estrutura, arquivo, conexão) não é inicializado ou recebe um valor inicial incorreto antes do uso. O código acessa ou manipula o recurso em um estado indefinido, levando a comportamentos imprevisíveis, corrupção de dados ou falhas de segurança.

Example

Um buffer alocado dinamicamente que nunca recebe um valor inicial é processado como se contivesse dados válidos; ou um ponteiro não é definido como NULL antes de ser verificado, causando derreferenciação de endereço inválido. Em contexto de credenciais: uma struct de sessão alocada mas não zerada retém dados de uma sessão anterior.

How to mitigate

Sempre inicializar recursos explicitamente no ponto de declaração ou alocação (ex: `int var = 0;`, `memset(struct, 0, sizeof(struct))`, construtores em C++). Use linters e análise estática para detectar variáveis não inicializadas antes do uso.