From: Jérémie Galarneau Date: Fri, 12 Jul 2013 16:38:56 +0000 (-0400) Subject: Fix: Unchecked asprintf/vasprintf return values X-Git-Tag: v2.2.2~19 X-Git-Url: https://git.lttng.org./?a=commitdiff_plain;h=94d970a30f2197b779a95e057cf28c14bd19a7f1;p=lttng-tools.git Fix: Unchecked asprintf/vasprintf return values strp may be modified even in case of failure according to the ASPRINTF(3) man page. Signed-off-by: Jérémie Galarneau Signed-off-by: David Goulet --- diff --git a/tests/utils/tap/tap.c b/tests/utils/tap/tap.c index a43095119..5d64d844c 100644 --- a/tests/utils/tap/tap.c +++ b/tests/utils/tap/tap.c @@ -83,7 +83,9 @@ _gen_result(int ok, const char *func, char *file, unsigned int line, expansions on it */ if(test_name != NULL) { va_start(ap, test_name); - vasprintf(&local_test_name, test_name, ap); + if (vasprintf(&local_test_name, test_name, ap) == -1) { + local_test_name = NULL; + } va_end(ap); /* Make sure the test name contains more than digits @@ -299,7 +301,9 @@ skip(unsigned int n, char *fmt, ...) LOCK; va_start(ap, fmt); - asprintf(&skip_msg, fmt, ap); + if (asprintf(&skip_msg, fmt, ap) == -1) { + skip_msg = NULL; + } va_end(ap); while(n-- > 0) { @@ -324,7 +328,9 @@ todo_start(char *fmt, ...) LOCK; va_start(ap, fmt); - vasprintf(&todo_msg, fmt, ap); + if (vasprintf(&todo_msg, fmt, ap) == -1) { + todo_msg = NULL; + } va_end(ap); todo = 1;