From: Jérémie Galarneau Date: Fri, 12 Jul 2013 17:09:51 +0000 (-0400) Subject: Fix: Unchecked asprintf/vasprintf return values X-Git-Tag: v2.2.2~21 X-Git-Url: http://git.liburcu.org/?p=lttng-ust.git;a=commitdiff_plain;h=980818a30f3a348c9a0f851e151cd248c2e52de1 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: Mathieu Desnoyers --- diff --git a/tests/tap.c b/tests/tap.c index 86c89a23..8bf72f6f 100644 --- a/tests/tap.c +++ b/tests/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;