...
| Code Block |
|---|
typedef char True;
typedef struct { char a[2]; } False;
template <typename T>
True isPtr(T *);
False isPtr(...);
#define is_ptr(e) (sizeof(isPtr(e)) == sizeof(True))
|
In this example, is_ptr(e) returns true if expression e has a pointer type.
Risk Assessment
Incorrectly using a variadic function can result in abnormal program termination or , unintended information disclosure, or execution of arbitrary code.
Rule | Severity | Likelihood | Remediation Cost | Priority | Level |
|---|---|---|---|---|---|
DCL33-C | 3 (mediumhigh) | 2 (probable) | 3 (low) | P18 | L1 |
References
...