Fallos del tipo CWE-763
39 resultadosLiberação de ponteiro ou referência inválida
Ocorre quando o código tenta liberar (desalocar) um ponteiro que não aponta para memória válida alocada — pode ser nulo, já foi liberado, aponta para variável local, ou foi corrompido. Isso causa corrupção de heap, travamento da aplicação ou comportamento indefinido que pode ser explorado para execução de código.
Uma função aloca memória, atribui o ponteiro a uma variável global, e depois a mesma função libera esse ponteiro. Se a função for chamada duas vezes sem reinicializar a variável global, a segunda chamada tentará liberar um ponteiro já liberado (use-after-free).
Sempre inicialize ponteiros para nulo após liberar, valide se um ponteiro é válido antes de desalocar, use smart pointers (C++) ou garbage collection quando possível, e implemente testes de vazamento de memória e sanitizers (AddressSanitizer, Valgrind) no pipeline de build.