Fallos del tipo CWE-587
1 resultadoAtribuição a variável com escopo insuficiente
A fraqueza ocorre quando uma variável é atribuída em um escopo muito restrito (como dentro de um bloco condicional ou função), mas o código tenta usá-la fora desse escopo onde ela não existe ou possui valor indefinido. Isso causa comportamento imprevisível, pois a variável não retém o valor esperado além de seu escopo original.
Em C/C++, uma variável é declarada e inicializada dentro de um if(), mas depois é acessada fora do bloco if. O compilador pode não reclamar, mas em runtime a variável contém lixo de memória ou causa crash. No caso do FpdtStatusCodeListenerPei, uma variável crítica foi atribuída apenas em uma condição específica, mas usada globalmente sem garantia de inicialização.
Declare e inicialize variáveis no escopo mais amplo necessário, nunca dentro de blocos condicionais. Use análise estática (lint, SonarQube) para detectar variáveis não inicializadas antes do uso e valide sempre que uma variável foi atribuída antes de consumi-la.