Fallos del tipo CWE-758
27 resultadosDependência de comportamento indefinido ou dependente da implementação
O código confia em comportamentos que a especificação da linguagem não define, deixa em aberto ou deixa a cargo de cada compilador/interpretador. Isso causa falhas imprevisíveis: o programa funciona em um ambiente, quebra em outro, ou se torna vulnerável a exploração conforme a implementação muda.
Um código C que depende da ordem de avaliação de argumentos em uma função (comportamento indefinido em C), ou que assume um inteiro com sinal sempre terá overflow em direção previsível. Ao mudar de compilador ou versão, o comportamento pode se alterar completamente.
Use apenas comportamentos explicitamente garantidos pela especificação da linguagem. Ative avisos do compilador (flags como -Wall, -Wextra no GCC/Clang), revise código que dependa de detalhes de implementação, e teste em múltiplos compiladores e plataformas antes de colocar em produção.