Falhas do tipo CWE-1341
8 resultadosLiberação múltipla do mesmo recurso
Ocorre quando o código libera (fecha, desaloca, etc.) um mesmo recurso mais de uma vez, sem verificar se ele já foi liberado. A segunda liberação causa comportamento indefinido: pode corromper estruturas internas do sistema, permitir acesso a memória inválida ou causar travamento. É especialmente crítico em C/C++ com ponteiros e file descriptors.
Uma função abre um arquivo, o processa, depois o fecha. Se houver dois caminhos de código diferentes (ex: um por exceção, outro normal) que chamam free() ou close() sobre o mesmo recurso, o segundo fechamento opera sobre identificador inválido e causa crash ou exploração.
Use padrões como RAII (Resource Acquisition Is Initialization) em C++, ou defina a variável do recurso para NULL/nullptr após liberação e verifique antes de liberar novamente. Em linguagens modernas, prefira gerenciadores automáticos (smart pointers, try-with-resources).