Weaknesses of type CWE-685

2 results

Chamada de função com número incorreto de argumentos

Ocorre quando o código chama uma função passando mais ou menos argumentos do que ela espera. Isso pode causar comportamento indefinido, corrupção de memória ou crash, dependendo de como a linguagem e o compilador lidam com o desvio.

Example

Uma função definida como `void processar(int id, char *nome)` é chamada com apenas um argumento: `processar(123)`. O segundo parâmetro fica indefinido, podendo apontar para lixo de memória e causar leitura/escrita indevida.

How to mitigate

Use verificação estática (lint, compiladores com warnings ativados) e testes unitários para detectar chamadas incorretas. Em linguagens dinâmicas, valide explicitamente o número de argumentos recebidos. Implemente type hints e documentação clara de assinatura.