From f2068bce016a021995d62c921bfc67ee0b645a70 Mon Sep 17 00:00:00 2001 From: =?utf8?q?J=C3=A9r=C3=A9mie=20Galarneau?= Date: Fri, 12 Jul 2013 12:38:56 -0400 Subject: [PATCH] Fix: Unchecked asprintf/vasprintf return values MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit 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 --- tests/utils/tap/tap.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) 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; -- 2.34.1