Weaknesses of type CWE-771

6 results

Referência perdida para recurso alocado ativo

Ocorre quando o código aloca um recurso (memória, arquivo, conexão de rede, mutex, etc.) mas perde a referência a ele antes de liberá-lo, impossibilitando a limpeza posterior. O recurso fica "órfão" na memória ou no sistema, causando vazamento e esgotamento gradual.

Example

Uma função aloca um buffer dinamicamente, atribui o ponteiro a uma variável local, mas essa variável é sobrescrita antes do free() ser chamado. Ou um arquivo é aberto, mas a referência é perdida em uma exceção antes do close(). O recurso permanece alocado indefinidamente.

How to mitigate

Use padrões como RAII (C++), try-finally ou try-with-resources (Java), context managers (Python). Ferramentas de análise estática (valgrind, sanitizers, linters) ajudam a detectar vazamentos. Revise fluxos de controle para garantir que toda alocação tem um caminho claro de liberação.