C and C++


LANG.STRUCT.FUNCPTR.CALL : Function Pointer

Summary

A call through a function pointer.

Properties

Class Name Function Pointer
Significance style
Mnemonic LANG.STRUCT.FUNCPTR.CALL
Categories
CWE CWE:710 Improper Adherence to Coding Standards
TS17961 TS17961:5.38-taintnoproto 5.38. Using a tainted value as an argument to an unprototyped function pointer
POW10 POW10:9 Limit the use of pointers. Use no more than two levels of dereferencing per expression.
Availability Available for C and C++.
Enabling Checks for this warning class are disabled by default. To enable them, add the following WARNING_FILTER rule to the project configuration file.
WARNING_FILTER += allow class="Function Pointer"

Example

typedef int (*unaryArith)(int);
unaryArith getUnaryFunction(void);

int lang_struct_funcptr_call(void){
    unaryArith myFunc = getUnaryFunction();
    int rv = myFunc(4);    /* 'Function Pointer' warning issued here */
    return rv;
}

Relevant Configuration File Parameters

The following configuration file parameters affect checks for this warning class.