Fallos del tipo CWE-1091
1 resultadoUso de objeto sem invocar método destrutor
Ocorre quando um objeto é descartado ou sai de escopo sem que seu método destrutor seja chamado explicitamente. Isso pode deixar recursos (memória, arquivos, conexões) não liberados, causando vazamento e comportamento indefinido em linguagens que dependem de destructores para limpeza (C++, Python com __del__, etc).
Uma classe gerencia um arquivo aberto no construtor. Se o objeto é deletado manualmente sem chamar o destrutor, ou se uma exceção interrompe a destruição automática, o arquivo permanece aberto, consumindo descritores do sistema e podendo impedir outras operações.
Use padrões como RAII (Resource Acquisition Is Initialization) em C++, context managers em Python (with), ou try-finally para garantir limpeza. Em linguagens modernas, confie no garbage collector ou implemente mecanismos explícitos de fechamento quando necessário.