mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-12-06 19:41:15 +01:00
Merge branch 'tor-github/pr/1322'
This commit is contained in:
@@ -0,0 +1,7 @@
|
||||
o Minor features (maintenance scripts):
|
||||
- Add a coccinelle script to detect bugs caused by incrementing or
|
||||
decrementing a variable inside a call to log_debug(). Since
|
||||
log_debug() is a macro whose arguments are conditionally evaluated, it
|
||||
is usually an error to do this. One such bug was 30628, in which SENDME
|
||||
cells were miscounted by a decrement operator inside a log_debug()
|
||||
call. Closes ticket 30743.
|
||||
@@ -0,0 +1,29 @@
|
||||
// Look for use of expressions with side-effects inside of debug logs.
|
||||
//
|
||||
// This script detects expressions like ++E, --E, E++, and E-- inside of
|
||||
// calls to log_debug().
|
||||
//
|
||||
// The log_debug() macro exits early if debug logging is not enabled,
|
||||
// potentially causing problems if its arguments have side-effects.
|
||||
|
||||
@@
|
||||
expression E;
|
||||
@@
|
||||
*log_debug(... , <+... --E ...+>, ... );
|
||||
|
||||
|
||||
@@
|
||||
expression E;
|
||||
@@
|
||||
*log_debug(... , <+... ++E ...+>, ... );
|
||||
|
||||
@@
|
||||
expression E;
|
||||
@@
|
||||
*log_debug(... , <+... E-- ...+>, ... );
|
||||
|
||||
|
||||
@@
|
||||
expression E;
|
||||
@@
|
||||
*log_debug(... , <+... E++ ...+>, ... );
|
||||
Reference in New Issue
Block a user