Fix: miscellaneous memory handling fixes
[lttng-tools.git] / src / bin / lttng-sessiond / snapshot.c
index 4c23ee424292176032da37d2a57fa9cd21e3ec5e..8faf9a76a28f99f497c1b4542ed0acdfd5d5603f 100644 (file)
@@ -24,6 +24,7 @@
 #include <common/defaults.h>
 
 #include "snapshot.h"
+#include "utils.h"
 
 /*
  * Return the atomically incremented value of next_output_id.
@@ -47,6 +48,8 @@ static int output_init(uint64_t max_size, const char *name,
 
        assert(output);
 
+       memset(output, 0, sizeof(struct snapshot_output));
+
        if (max_size == (uint64_t) -1ULL) {
                max_size = 0;
        }
@@ -78,6 +81,7 @@ static int output_init(uint64_t max_size, const char *name,
                ret = -ENOMEM;
                goto error;
        }
+       output->consumer->snapshot = 1;
 
        /* No URL given. */
        if (nb_uri == 0) {
@@ -318,4 +322,5 @@ void snapshot_destroy(struct snapshot *obj)
                snapshot_output_destroy(output);
        }
        rcu_read_unlock();
+       ht_cleanup_push(obj->output_ht);
 }
This page took 0.043418 seconds and 4 git commands to generate.