Weaknesses of type CWE-835

426 results

Loop infinito com condição de saída inalcançável

O programa entra em um loop (for, while, etc.) cuja condição de encerramento nunca pode ser verdadeira, causando uma execução infinita. Isso consome CPU indefinidamente, podendo derrubar a aplicação ou os serviços que dependem dela, caracterizando uma negação de serviço.

Example

Um servidor web processa requisições em um loop while(true) esperando receber um sinal de parada que nunca é enviado; ou um algoritmo incrementa uma variável de controle, mas a condição de saída compara com um valor que nunca será alcançado devido a overflow ou lógica errada.

How to mitigate

Revise toda lógica de condição de saída (teste se ela é realmente alcançável); implemente timeouts explícitos nos loops; adicione contadores de limite de iterações para forçar saída de segurança; use análise estática para detectar loops sem saída clara.