about summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/build-support/setup-hooks/make-binary-wrapper.sh8
-rw-r--r--pkgs/test/make-binary-wrapper/add-flags.c2
-rw-r--r--pkgs/test/make-binary-wrapper/combination.c3
-rw-r--r--pkgs/test/make-binary-wrapper/prefix.c2
-rw-r--r--pkgs/test/make-binary-wrapper/suffix.c2
5 files changed, 16 insertions, 1 deletions
diff --git a/pkgs/build-support/setup-hooks/make-binary-wrapper.sh b/pkgs/build-support/setup-hooks/make-binary-wrapper.sh
index bb9b5f453d196..d7b888292d581 100644
--- a/pkgs/build-support/setup-hooks/make-binary-wrapper.sh
+++ b/pkgs/build-support/setup-hooks/make-binary-wrapper.sh
@@ -64,7 +64,7 @@ makeDocumentedCWrapper() {
 # ARGS: same as makeBinaryWrapper
 makeCWrapper() {
     local argv0 n params cmd main flagsBefore flags executable params length
-    local uses_prefix uses_suffix uses_concat3
+    local uses_prefix uses_suffix uses_concat3 uses_assert
     executable=$(escapeStringLiteral "$1")
     params=("$@")
     length=${#params[*]}
@@ -94,6 +94,7 @@ makeCWrapper() {
                 main="$main    $cmd"$'\n'
                 uses_prefix=1
                 uses_concat3=1
+                uses_assert=1
                 n=$((n + 3))
                 [ $n -ge "$length" ] && main="$main    #error makeCWrapper: $p takes 3 arguments"$'\n'
             ;;
@@ -102,12 +103,14 @@ makeCWrapper() {
                 main="$main    $cmd"$'\n'
                 uses_suffix=1
                 uses_concat3=1
+                uses_assert=1
                 n=$((n + 3))
                 [ $n -ge "$length" ] && main="$main    #error makeCWrapper: $p takes 3 arguments"$'\n'
             ;;
             --add-flags)
                 flags="${params[n + 1]}"
                 flagsBefore="$flagsBefore $flags"
+                uses_assert=1
                 n=$((n + 1))
                 [ $n -ge "$length" ] && main="$main    #error makeCWrapper: $p takes 1 argument"$'\n'
             ;;
@@ -129,6 +132,7 @@ makeCWrapper() {
     printf '%s\n' "#include <unistd.h>"
     printf '%s\n' "#include <stdlib.h>"
     [ -z "$uses_concat3" ] || printf '%s\n' "#include <string.h>"
+    [ -z "$uses_assert" ]  || printf '%s\n' "#include <assert.h>"
     [ -z "$uses_concat3" ] || printf '\n%s\n' "$(concat3Fn)"
     [ -z "$uses_prefix" ]  || printf '\n%s\n' "$(setEnvPrefixFn)"
     [ -z "$uses_suffix" ]  || printf '\n%s\n' "$(setEnvSuffixFn)"
@@ -146,6 +150,7 @@ addFlags() {
         result="$result    ${var}[$((n+1))] = \"$flag\";"$'\n'
     done
     printf '    %s\n' "char **$var = malloc(sizeof(*$var) * ($((n+1)) + argc));"
+    printf '    %s\n' "assert($var != NULL);"
     printf '    %s\n' "${var}[0] = argv[0];"
     printf '%s' "$result"
     printf '    %s\n' "for (int i = 1; i < argc; ++i) {"
@@ -222,6 +227,7 @@ char *concat3(char *x, char *y, char *z) {
     int yn = strlen(y);
     int zn = strlen(z);
     char *res = malloc(sizeof(*res)*(xn + yn + zn + 1));
+    assert(res != NULL);
     strncpy(res, x, xn);
     strncpy(res + xn, y, yn);
     strncpy(res + xn + yn, z, zn);
diff --git a/pkgs/test/make-binary-wrapper/add-flags.c b/pkgs/test/make-binary-wrapper/add-flags.c
index 70d43e0bec081..fccd5aa9402a7 100644
--- a/pkgs/test/make-binary-wrapper/add-flags.c
+++ b/pkgs/test/make-binary-wrapper/add-flags.c
@@ -4,9 +4,11 @@
 
 #include <unistd.h>
 #include <stdlib.h>
+#include <assert.h>
 
 int main(int argc, char **argv) {
     char **argv_tmp = malloc(sizeof(*argv_tmp) * (5 + argc));
+    assert(argv_tmp != NULL);
     argv_tmp[0] = argv[0];
     argv_tmp[1] = "-x";
     argv_tmp[2] = "-y";
diff --git a/pkgs/test/make-binary-wrapper/combination.c b/pkgs/test/make-binary-wrapper/combination.c
index 925fdf1ccfb4a..5e4e1168f4a02 100644
--- a/pkgs/test/make-binary-wrapper/combination.c
+++ b/pkgs/test/make-binary-wrapper/combination.c
@@ -9,12 +9,14 @@
 #include <unistd.h>
 #include <stdlib.h>
 #include <string.h>
+#include <assert.h>
 
 char *concat3(char *x, char *y, char *z) {
     int xn = strlen(x);
     int yn = strlen(y);
     int zn = strlen(z);
     char *res = malloc(sizeof(*res)*(xn + yn + zn + 1));
+    assert(res != NULL);
     strncpy(res, x, xn);
     strncpy(res + xn, y, yn);
     strncpy(res + xn + yn, z, zn);
@@ -43,6 +45,7 @@ int main(int argc, char **argv) {
     putenv("MESSAGE2=WORLD");
 
     char **argv_tmp = malloc(sizeof(*argv_tmp) * (4 + argc));
+    assert(argv_tmp != NULL);
     argv_tmp[0] = argv[0];
     argv_tmp[1] = "-x";
     argv_tmp[2] = "-y";
diff --git a/pkgs/test/make-binary-wrapper/prefix.c b/pkgs/test/make-binary-wrapper/prefix.c
index 914fd851bb7e7..fa333013cd02e 100644
--- a/pkgs/test/make-binary-wrapper/prefix.c
+++ b/pkgs/test/make-binary-wrapper/prefix.c
@@ -5,12 +5,14 @@
 #include <unistd.h>
 #include <stdlib.h>
 #include <string.h>
+#include <assert.h>
 
 char *concat3(char *x, char *y, char *z) {
     int xn = strlen(x);
     int yn = strlen(y);
     int zn = strlen(z);
     char *res = malloc(sizeof(*res)*(xn + yn + zn + 1));
+    assert(res != NULL);
     strncpy(res, x, xn);
     strncpy(res + xn, y, yn);
     strncpy(res + xn + yn, z, zn);
diff --git a/pkgs/test/make-binary-wrapper/suffix.c b/pkgs/test/make-binary-wrapper/suffix.c
index 865d76fe34e2a..a299f1fa0bd66 100644
--- a/pkgs/test/make-binary-wrapper/suffix.c
+++ b/pkgs/test/make-binary-wrapper/suffix.c
@@ -5,12 +5,14 @@
 #include <unistd.h>
 #include <stdlib.h>
 #include <string.h>
+#include <assert.h>
 
 char *concat3(char *x, char *y, char *z) {
     int xn = strlen(x);
     int yn = strlen(y);
     int zn = strlen(z);
     char *res = malloc(sizeof(*res)*(xn + yn + zn + 1));
+    assert(res != NULL);
     strncpy(res, x, xn);
     strncpy(res + xn, y, yn);
     strncpy(res + xn + yn, z, zn);