C and C++ Binaries


LANG.STRUCT.DBG : Leftover Debug Code

Summary

A use of an output function, which may indicate a debugging trace statement unintentionally left in the code.

This class is a strict subset of Use of <stdio.h> Input/Output.

Properties

Class Name Leftover Debug Code
Significance style
Mnemonic LANG.STRUCT.DBG
Categories
CWE CWE:489 Active Debug Code
  CWE:1295 Debug Messages Revealing Unnecessary Information
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="Leftover Debug Code"

Example

#include <fcntl.h>

int lang_struct_dbg(void){
    int ret;
    char filepath[256];
     
    ret = open("/usr/files/info.txt", O_RDONLY);
    if (!ret){
        puts("can't open info.txt"); /* 'Leftover Debug Code' warning issued here */
    }
    return ret;
}

Resolution

When you see a Leftover Debug Code warning, make sure that the output operation identified in the warning is not exposing information that users should not see. If so, you can change the warning state to Suppressed.

Relevant Configuration File Parameters

This class is implemented using a BAD_FUNCTION_* rule set in the general template configuration file.

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