tor

The Tor anonymity network
git clone https://git.dasho.dev/tor.git
Log | Files | Refs | README | LICENSE

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++ ...+>, ... );