Fallos del tipo CWE-775

6 resultados

Vazamento de descritor de arquivo ou handle

É quando o código abre um arquivo, socket ou outro recurso do sistema, mas não o fecha corretamente ao terminar de usá-lo. O descritor fica ocupado na tabela do processo, consumindo recursos do SO e podendo impedir novas operações quando o limite é atingido.

Ejemplo

Uma aplicação abre um arquivo em um loop de processamento, mas fecha apenas em caso de sucesso — se houver exceção ou early return, o descritor nunca é liberado. Após alguns milhares de iterações, o processo fica sem descritores disponíveis e falha ao tentar abrir novos arquivos.

Cómo mitigar

Use try-finally ou context managers (como `with` em Python) para garantir fechamento automático. Em C/C++, aplique RAII ou funções de cleanup; em Go/Rust, prefira tipos que liberam recursos automaticamente ao sair de escopo. Implemente monitoramento de descritores abertos durante testes e validação.