Fix possible NULL pointer dereference
[lttng-tools.git] / lttng-sessiond / ust-app.c
index 39bfaea1595698128df2807c9d0d34d21ef72cd7..72e3aeef2c68aee6d71b67f1a0c28393e8387e5c 100644 (file)
@@ -758,8 +758,8 @@ int ust_app_start_trace(struct ltt_ust_session *usess)
                                goto next;
                        }
 
-                       ret = snprintf(ua_sess->metadata->pathname, PATH_MAX, "%s/%s",
-                                       ua_sess->metadata->pathname, "metadata");
+                       ret = snprintf(ua_sess->metadata->pathname, PATH_MAX, "%s/%s-%d/metadata",
+                                       usess->pathname, app->name, app->key.pid);
                        if (ret < 0) {
                                PERROR("asprintf UST create stream");
                                goto next;
@@ -859,10 +859,16 @@ void ust_app_global_update(struct ltt_ust_session *usess, int sock)
        struct lttng_ust_object_data *obj_event;
        struct lttng_ust_channel_attr uattr;
 
+       rcu_read_lock();
+
+       if (usess == NULL) {
+               DBG2("No UST session on global update. Returning");
+               goto error;
+       }
+
        DBG2("UST app global update for app sock %d for session uid %d", sock,
                        usess->uid);
 
-       rcu_read_lock();
        app = find_app_by_sock(sock);
        if (app == NULL) {
                ERR("Failed to update app sock %d", sock);
@@ -956,8 +962,8 @@ void ust_app_global_update(struct ltt_ust_session *usess, int sock)
                        goto error;
                }
 
-               ret = snprintf(ua_sess->metadata->pathname, PATH_MAX, "%s/metadata",
-                               ua_sess->metadata->pathname);
+               ret = snprintf(ua_sess->metadata->pathname, PATH_MAX, "%s/%s-%d/metadata",
+                               usess->pathname, app->name, app->key.pid);
                if (ret < 0) {
                        PERROR("asprintf UST create stream");
                        goto error;
This page took 0.024195 seconds and 4 git commands to generate.