Weaknesses of type CWE-835
370 resultsLoop 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.
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.
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.