COMMON WEAKNESS ENUMERATIONDraft

CWE-685

Function Call With Incorrect Number of Arguments

The product calls a function, procedure, or routine, but the caller specifies too many arguments, or too few arguments, which may lead to undefined behavior and resultant weaknesses.

Abstraction

Variant

Structure

Simple

Likelihood of Exploit

Medium

Understand the problem

What is the problem?

The product calls a function, procedure, or routine, but the caller specifies too many arguments, or too few arguments, which may lead to undefined behavior and resultant weaknesses.

Root cause

How and when does the problem arise?

Lifecycle phase

Implementation

This problem typically occurs when the programmer makes a typo, or copy and paste errors.

Risk

What does successful exploitation lead to?

Quality Degradation

Affected security scopes: Other

Defence

How is it prevented and fixed?

Testing

Testing and verification approach

Detail
Because this function call often produces incorrect behavior it will usually be detected during testing or normal operation of the product. During testing exercise all possible control paths will typically expose this weakness except in rare cases when the incorrect function call accidentally produces the correct results or if the provided argument type is very similar to the expected argument type.

Verification

How is it detected?

Other

While this weakness might be caught by the compiler in some languages, it can occur more frequently in cases in which the called function accepts variable numbers of arguments, such as format strings in C. It also can occur in languages or environments that do not require that functions always be called with the correct number of arguments, such as Perl.