Falhas do tipo CWE-826
10 resultadosLiberação prematura de recurso durante seu tempo de vida esperado
Ocorre quando um recurso (memória, arquivo, conexão de banco de dados, etc.) é liberado ou fechado antes do fim de seu uso previsto, deixando o código subsequente tentando acessar algo que já não existe. Isso causa travamentos, corrupção de dados ou comportamentos impredizíveis.
Um arquivo é fechado dentro de um try-catch, mas o código que processa o arquivo continua após esse bloco tentando ler dele. Ou uma conexão com banco é encerrada prematuramente em uma função, enquanto queries posteriores ainda dependem dela.
Use estruturas como try-with-resources (Java) ou context managers (Python) para garantir liberação no momento certo. Implemente verificações de estado antes de usar recursos e centralizar a lógica de ciclo de vida dos recursos em um único ponto de controle.