summaryrefslogtreecommitdiffstats
path: root/tools/checkxalloc.sh
blob: 3c342545f715e1636cc2dfe19a1ad3d77efdd89e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
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