Fix: check malloc return value
[lttng-tools.git] / src / bin / lttng / commands / list.c
index 08518dc0ca26ba0436a970c58ac38ce39b768341..f56adf4821db71ca4d8d4f77bc7adabd36444302 100644 (file)
@@ -107,7 +107,7 @@ static char *get_cmdline_by_pid(pid_t pid)
        int ret;
        FILE *fp;
        char *cmdline = NULL;
-       char path[24];  /* Can't go bigger than /proc/65535/cmdline */
+       char path[20];  /* Can't go bigger than /proc/65535/cmdline */
 
        snprintf(path, sizeof(path), "/proc/%d/cmdline", pid);
        fp = fopen(path, "r");
@@ -117,6 +117,10 @@ static char *get_cmdline_by_pid(pid_t pid)
 
        /* Caller must free() *cmdline */
        cmdline = malloc(PATH_MAX);
+       if (!cmdline) {
+               perror("malloc cmdline");
+               goto end;
+       }
        ret = fread(cmdline, 1, PATH_MAX, fp);
        if (ret < 0) {
                perror("fread proc list");
@@ -177,6 +181,34 @@ const char *exclusion_string(int value)
        }
 }
 
+static const char *loglevel_jul_string(int value)
+{
+       switch (value) {
+       case -1:
+               return "";
+       case LTTNG_LOGLEVEL_JUL_OFF:
+               return "JUL_OFF";
+       case LTTNG_LOGLEVEL_JUL_SEVERE:
+               return "JUL_SEVERE";
+       case LTTNG_LOGLEVEL_JUL_WARNING:
+               return "JUL_WARNING";
+       case LTTNG_LOGLEVEL_JUL_INFO:
+               return "JUL_INFO";
+       case LTTNG_LOGLEVEL_JUL_CONFIG:
+               return "JUL_CONFIG";
+       case LTTNG_LOGLEVEL_JUL_FINE:
+               return "JUL_FINE";
+       case LTTNG_LOGLEVEL_JUL_FINER:
+               return "JUL_FINER";
+       case LTTNG_LOGLEVEL_JUL_FINEST:
+               return "JUL_FINEST";
+       case LTTNG_LOGLEVEL_JUL_ALL:
+               return "JUL_ALL";
+       default:
+               return "<<UNKNOWN>>";
+       }
+}
+
 static const char *loglevel_string(int value)
 {
        switch (value) {
@@ -583,8 +615,10 @@ static int list_session_jul_events(void)
        }
 
        for (i = 0; i < count; i++) {
-               MSG("%s- %s%s", indent4, events[i].name,
-                               enabled_string(events[i].enabled));
+               MSG("%s- %s%s (loglevel%s %s)", indent4, events[i].name,
+                               enabled_string(events[i].enabled),
+                               logleveltype_string(events[i].loglevel_type),
+                               loglevel_jul_string(events[i].loglevel));
        }
 
        MSG("");
This page took 0.024807 seconds and 4 git commands to generate.