summaryrefslogtreecommitdiff
path: root/script
diff options
context:
space:
mode:
authorPatrick Steinhardt <ps@pks.im>2016-02-10 10:59:14 +0100
committerPatrick Steinhardt <ps@pks.im>2016-02-10 10:59:14 +0100
commit8dddea42aaf876663fc3cc1afa31f2165cb9f993 (patch)
tree44c264cd214458cf8af55feb004b0827c4d96e6e /script
parent488e2b85053a45dd2ce6a37b7d5cf70870be5ed8 (diff)
downloadlibgit2-8dddea42aaf876663fc3cc1afa31f2165cb9f993.tar.gz
coverity: provide nodef for GITERR_CHECK_ALLOC
Coverity currently lists a lot of errors with regard to GITERR_CHECK_ALLOC causing resource leaks. We know this macro is only invoked when we want to abort because we are out of memory. Coverity allows for overriding the default model where we know that certain functions guarantee a desired behavior. The user_nodefs.h is used to override the behavior of macros. Re-define GITERR_CHECK_ALLOC inside of it to specify its abort nature.
Diffstat (limited to 'script')
-rwxr-xr-xscript/coverity.sh2
-rw-r--r--script/user_nodefs.h8
2 files changed, 10 insertions, 0 deletions
diff --git a/script/coverity.sh b/script/coverity.sh
index dcfeffc1d..785044c8a 100755
--- a/script/coverity.sh
+++ b/script/coverity.sh
@@ -33,6 +33,8 @@ if [ ! -d "$TOOL_BASE" ]; then
ln -s "$TOOL_DIR" "$TOOL_BASE"/cov-analysis
fi
+cp script/user_nodefs.h "$TOOL_BASE"/cov-analysis/config/user_nodefs.h
+
COV_BUILD="$TOOL_BASE/cov-analysis/bin/cov-build"
# Configure and build
diff --git a/script/user_nodefs.h b/script/user_nodefs.h
new file mode 100644
index 000000000..110f76851
--- /dev/null
+++ b/script/user_nodefs.h
@@ -0,0 +1,8 @@
+/*
+ * Copyright (C) the libgit2 contributors. All rights reserved.
+ *
+ * This file is part of libgit2, distributed under the GNU GPL v2 with
+ * a Linking Exception. For full terms see the included COPYING file.
+ */
+
+#nodef GITERR_CHECK_ALLOC(ptr) if (ptr == NULL) { __coverity_panic__(); }