Falhas do tipo CWE-686

5 resultados

Chamada de função com tipo de argumento incorreto

Ocorre quando uma função é chamada passando um argumento de tipo diferente do esperado pela assinatura. Linguagens fracamente tipadas ou com casting implícito podem executar conversões inesperadas, levando a comportamentos indefinidos, corrupção de memória ou lógica de negócio comprometida.

Exemplo

Uma função que espera um inteiro com sinal (int) recebe um valor sem sinal (unsigned int) muito grande. A conversão implícita reinterpreta os bits, transformando um número positivo em um negativo, causando validações falharem ou cálculos produzirem resultados errados.

Como mitigar

Use tipagem forte e evite conversões implícitas (habilite warnings do compilador como -Wconversion). Valide e converta explicitamente argumentos antes de passar para funções críticas, especialmente em fronteiras de segurança ou processamento de entrada.