Weaknesses of type CWE-466
8 resultsRetorno de Ponteiro Fora do Intervalo Esperado
A função retorna um ponteiro que aponta para um endereço fora da região de memória que deveria gerenciar — por exemplo, uma função retorna um ponteiro para uma variável local (que deixa de existir ao retornar) ou para um buffer que foi desalocado. O chamador acredita que o ponteiro é válido e tenta acessá-lo, causando leitura/escrita em memória inválida.
Uma função abre um arquivo, lê dados em um buffer local, e retorna um ponteiro para esse buffer. Quando a função retorna, a variável local é destruída, mas o código chamador tenta usar o ponteiro para acessar os dados — resultando em comportamento indefinido ou corrupção de memória.
Garantir que ponteiros retornados apontem apenas para memória alocada dinamicamente (heap) ou para dados que existam além do escopo da função. Usar análise estática para detectar retorno de endereços de stack, e em linguagens de alto nível, evitar retornar referências a objetos temporários.