Fix: add missing free causing a memleak
[lttng-tools.git] / src / bin / lttng-sessiond / ust-app.c
index 37f6442156ff03a8724ef62137e66b1548544f30..7e7c89a481d5fab4019b470ca45b4bcb7c3c4c5d 100644 (file)
@@ -4689,6 +4689,9 @@ int ust_app_recv_notify(int sock)
                ret = add_event_ust_registry(sock, sobjd, cobjd, name, sig, nr_fields,
                                fields, loglevel, model_emf_uri);
                if (ret < 0) {
+                       free(sig);
+                       free(model_emf_uri);
+                       free(fields);
                        goto error;
                }
 
@@ -4716,6 +4719,7 @@ int ust_app_recv_notify(int sock)
                ret = reply_ust_register_channel(sock, sobjd, cobjd, nr_fields,
                                fields);
                if (ret < 0) {
+                       free(fields);
                        goto error;
                }
 
@@ -4806,3 +4810,15 @@ close_socket:
                call_rcu(&obj->head, close_notify_sock_rcu);
        }
 }
+
+/*
+ * Destroy a ust app data structure and free its memory.
+ */
+void ust_app_destroy(struct ust_app *app)
+{
+       if (!app) {
+               return;
+       }
+
+       call_rcu(&app->pid_n.head, delete_ust_app_rcu);
+}
This page took 0.025453 seconds and 4 git commands to generate.