...
Code Block | ||
---|---|---|
| ||
/* ... */ fd = open(ms, O_CREAT|O_EXCL|O_WRONLY|O_TRUNC, file_access_permissions); if (fd == -1){ /* Handle Error */ } /* ... */ |
Automated Detection
Compass/ROSE could detect the violations in these examples when it can determine which function a function pointer points to at compile time. Then it can match the function's arguments with the expected arguments. If a pointer points to a function not determinable at compile time, ROSE probably won't be able to validate its parameters either.
Risk Assessment
Calling a function with incorrect arguments can result in unexpected or unintended program behavior.
...