diff options
Diffstat (limited to 'tools/checkxalloc.sh')
-rwxr-xr-x | tools/checkxalloc.sh | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/tools/checkxalloc.sh b/tools/checkxalloc.sh new file mode 100755 index 0000000..3c34254 --- /dev/null +++ b/tools/checkxalloc.sh @@ -0,0 +1,23 @@ +#!/bin/sh +# +# Find files which include the xalloc.h header, but which still call +# the unwrapped calloc and malloc. +# + +cd "$(git rev-parse --show-toplevel)" || { + echo "error: failed to chdir to git root" + exit 1 +} + +git grep -zl '#include "xalloc.h"' | + xargs -0 grep -nE '\b(([cm]|re)alloc|strdup|asprintf)[[:space:]]*\([^)]' + +result=$? + +if [ $result -eq 123 ]; then + exit 0 # not found +elif [ $result -eq 0 ]; then + exit 1 # found +fi + +exit $result |