debugmm.cocci (567B)
1 // Look for use of expressions with side-effects inside of debug logs. 2 // 3 // This script detects expressions like ++E, --E, E++, and E-- inside of 4 // calls to log_debug(). 5 // 6 // The log_debug() macro exits early if debug logging is not enabled, 7 // potentially causing problems if its arguments have side-effects. 8 9 @@ 10 expression E; 11 @@ 12 *log_debug(... , <+... --E ...+>, ... ); 13 14 15 @@ 16 expression E; 17 @@ 18 *log_debug(... , <+... ++E ...+>, ... ); 19 20 @@ 21 expression E; 22 @@ 23 *log_debug(... , <+... E-- ...+>, ... ); 24 25 26 @@ 27 expression E; 28 @@ 29 *log_debug(... , <+... E++ ...+>, ... );