...
In this noncompliant code example, the function pointer fn_ptr
refers to the function add()
, which accepts three integer arguments. However, fn_ptr
is specified to accept two integer arguments. Setting fn_ptr
to refer to add()
results in unexpected program behavior. This example also violates Void DCL35-C. Call functions with the correct number and type of arguments.
Code Block | ||||
---|---|---|---|---|
| ||||
int add(int x, int y, int z) { return x + y + z; } int main(int argc, char *argv[]) { int (*fn_ptr) (int, int); int res; fn_ptr = add; res = fn_ptr(2, 3); /* Incorrect */ /* ... */ return 0; } |
...
Failing to include type information for function declarators can result in unexpected or unintended program behavior.
...
Related Vulnerabilities
Search for vulnerabilities resulting from the violation of this rule on the CERT website.
...