You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 11 Next »

Code that is never executed is known as dead code. The presence of dead code often indicates that a logic error has occurred. Typically, this error is an a result of changes to the program or assumptions made by the program. Dead code is often optimized out of a program during compilation. However, to improve readability and ensure that logic errors are resolved dead code should be identified, understood, and removed from a program.

Non-Compliant Code Example

This example, inspired by Fortify demonstrates how dead code can be introduced into a program. The second conditional statement, if (s) may never evaluate true because it requires that s not be assigned NULL. However, the only path where s can be assigned a non-NULL value ends with a return statement.

int func(int condition) {
    int *s = NULL;
    if (condition) {
        s = malloc(10);
        if (s == NULL) {
           /* Handle Error */
        }
        /* insert data into s */
        return 0;
    }
    /* ... */
    if (s) {
        /* This code is never reached */
    }
}
  • No labels