[lttng-dev] [PATCH lttng-ust] Fix: Unchecked asprintf/vasprintf return values
Mathieu Desnoyers
mathieu.desnoyers at efficios.com
Fri Jul 12 13:11:20 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/tap.c | 12 +++++++++---
> 1 file changed, 9 insertions(+), 3 deletions(-)
>
> diff --git a/tests/tap.c b/tests/tap.c
> index 86c89a2..8bf72f6 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;
> --
> 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