[lttng-dev] [PATCH babeltrace] Fix: Unchecked asprintf/vasprintf return values

Mathieu Desnoyers mathieu.desnoyers at efficios.com
Fri Jul 12 13:10:09 EDT 2013


merged

* Jérémie Galarneau (jeremie.galarneau at efficios.com) wrote:
> strp·may·be·modified·even·in·case·of·failure·according·to·the ASPRINTF(3) man
> page.
> 
> Signed-off-by: Jérémie Galarneau <jeremie.galarneau at efficios.com>
> ---
>  tests/lib/tap.c | 12 +++++++++---
>  1 file changed, 9 insertions(+), 3 deletions(-)
> 
> diff --git a/tests/lib/tap.c b/tests/lib/tap.c
> index 86c89a2..8bf72f6 100644
> --- a/tests/lib/tap.c
> +++ b/tests/lib/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;
> -- 
> 1.8.3.2
> 
> 
> _______________________________________________
> lttng-dev mailing list
> lttng-dev at lists.lttng.org
> http://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev

-- 
Mathieu Desnoyers
EfficiOS Inc.
http://www.efficios.com



More information about the lttng-dev mailing list