Fix: release reference to ltt_session on error instead of free()
[lttng-tools.git] / src / bin / lttng-sessiond / snapshot.c
index d2016a1656bae9b9ed0fede367534d05bd9d4b34..c4c3bf1f8c13d9f0433a57d61461568304a83523 100644 (file)
@@ -94,11 +94,11 @@ static int output_init(uint64_t max_size, const char *name,
        }
 
        if (uris[0].dtype == LTTNG_DST_PATH) {
-               memset(output->consumer->dst.trace_path, 0,
-                               sizeof(output->consumer->dst.trace_path));
-               if (lttng_strncpy(output->consumer->dst.trace_path,
+               memset(output->consumer->dst.session_root_path, 0,
+                               sizeof(output->consumer->dst.session_root_path));
+               if (lttng_strncpy(output->consumer->dst.session_root_path,
                                uris[0].dst.path,
-                               sizeof(output->consumer->dst.trace_path))) {
+                               sizeof(output->consumer->dst.session_root_path))) {
                        ret = -LTTNG_ERR_INVALID;
                        goto error;
                }
@@ -321,7 +321,9 @@ void snapshot_destroy(struct snapshot *obj)
        struct lttng_ht_iter iter;
        struct snapshot_output *output;
 
-       assert(obj);
+       if (!obj->output_ht) {
+               return;
+       }
 
        rcu_read_lock();
        cds_lfht_for_each_entry(obj->output_ht->ht, &iter.iter, output,
This page took 0.025235 seconds and 5 git commands to generate.