Weaknesses of type CWE-460
23 resultsLimpeza inadequada ao lançar exceção
Quando uma exceção é lançada durante a execução, o código não libera corretamente recursos alocados (conexões de banco, arquivos abertos, locks, memória) antes de sair. Isso causa vazamento de recursos e pode levar o sistema a ficar indisponível ou com estado inconsistente.
Um método abre uma conexão com o banco de dados, processa dados, mas se um erro ocorre no meio do processamento, a exceção sai da função sem fechar a conexão — que fica pendurada indefinidamente, consumindo slots da pool de conexões até esgotar.
Use try-with-resources (Java), context managers (Python), ou blocos finally/defer garantidos para liberar recursos. Em linguagens mais modernas, structure bindings ou RAII (Resource Acquisition Is Initialization) previnem vazamentos automáticos mesmo com exceções.