summaryrefslogtreecommitdiff
path: root/scripts/coccinelle
AgeCommit message (Collapse)Author
2019-09-18Add a coccinelle script to look for {inc,dec}rements in log_debugNick Mathewson
We want to forbid this pattern since, unlike the other log_*() macros, log_debug() conditionally evaluates its arguments only if debug-level logging is enabled. Thus, a call to log_debug("%d", x++); will only increment x if debugging logs are enabled, which is probably not what the programmer intended. One bug caused by this pattern was #30628. This script detects log_debug( ) calls with any of E++, E--, ++E, or --E in their arguments, where E is an arbitrary expression. Closes ticket 30743.
2019-04-30Coccinelle scripts for control.c refactorTaylor Yu
2017-08-24Add Coccinelle patch for replacing NULL/non-NULL tt_assert().Alexander Færøy
This patch replaces tt_assert() checks for NULL/non-NULL values with tt_ptr_op().
2017-08-24Add Coccinelle patch for replacing tt_assert() usage on integer types.Alexander Færøy
This patch replaces tt_assert() comparison of integers and unsigned integers with their respective tt_int_op or tt_uint_op counterpart.
2017-08-24Add Coccinelle patch for replacing tt_assert(0) with tt_abort().Alexander Færøy
2017-08-24Add Coccinelle patch for detecing places where CEIL_DIV should be used.Alexander Færøy
2017-08-24Add script for cleaning op operator usage in test files.Alexander Færøy
This patch adds a script written by Nick for bug #13172 to clean up the usage of ==, !=, <, >, <=, and >= by replacing them with their symbolic OP_* counterpart. This will ensure that a tool like Coccinelle doesn't get confused and silently ignore large blocks of code.
2014-11-02Add a rule to the calloc semantic patch for argument ordering.Mansour Moufid
2014-11-02The second argument to tor_calloc should be a constant.Mansour Moufid
Just like the conventional calloc.
2014-11-02Refactor the calloc semantic patch.Mansour Moufid
This does not change its effects.
2014-09-16Add coccinelle script to remove pointless callocsNick Mathewson
2014-09-16Add script to detect and remove unCish malloc-then-cast patternNick Mathewson
Also, apply it.
2014-08-13Add a simple coccinelle script to replace malloc->callocNick Mathewson
Coccinelle is a semantic patching tool that can automatically change C code via semantic patching. This script also replaces realloc with reallocarray as appropriate.