Fix: lttng view.c missing strdup OOM check
[lttng-tools.git] / src / bin / lttng / commands / view.c
index dcd4d66245fb5049fa241c00feb771fdf52d93ba..cb4b5074361ebbfe62cbbb83e01812353430b613 100644 (file)
@@ -16,6 +16,7 @@
  */
 
 #define _GNU_SOURCE
+#define _LGPL_SOURCE
 #include <popt.h>
 #include <stdio.h>
 #include <stdlib.h>
@@ -151,7 +152,7 @@ static char **alloc_argv_from_user_opts(char *opts, const char *trace_path)
        } while (*token != '\0');
 
        /* Add two here for the NULL terminating element and trace path */
-       argv = malloc(sizeof(char *) * (num_opts + 2));
+       argv = zmalloc(sizeof(char *) * (num_opts + 2));
        if (argv == NULL) {
                goto error;
        }
@@ -159,6 +160,9 @@ static char **alloc_argv_from_user_opts(char *opts, const char *trace_path)
        token = strtok(opts, " ");
        while (token != NULL) {
                argv[i] = strdup(token);
+               if (argv[i] == NULL) {
+                       goto error;
+               }
                token = strtok(NULL, " ");
                i++;
        }
@@ -198,7 +202,7 @@ static char **alloc_argv_from_local_opts(const char **opts, size_t opts_len,
        size = sizeof(char *) * mem_len;
 
        /* Add two here for the trace_path and the NULL terminating element. */
-       argv = malloc(size);
+       argv = zmalloc(size);
        if (argv == NULL) {
                goto error;
        }
This page took 0.024323 seconds and 5 git commands to generate.