Fallos del tipo CWE-460
23 resultadosLimpeza inadequada em exceção lançada
Quando uma exceção é lançada durante a execução de um código, recursos (arquivos, conexões, memória) não são liberados corretamente porque o tratamento de erro não foi implementado. Isso causa vazamento de recursos e pode deixar o sistema em estado inconsistente ou indisponível.
Um método abre uma conexão com banco de dados e trata alguns dados, mas se ocorrer um erro durante o processamento, a conexão nunca é fechada. Em Java, se você não usa try-with-resources ou try-finally, a pool de conexões se esgota após várias tentativas falhadas.
Use try-with-resources (Java 7+), try-finally, ou estruturas equivalentes na sua linguagem (context managers em Python, using em C#) para garantir que limpeza execute sempre, mesmo com exceção. Em C/C++, implemente RAII ou equivalent padrão. Revise todo código que aloca recursos e verifique se há sempre um caminho de liberação, com ou sem erro.