lib: trace IR, values: reset pointers to `NULL` on destruction
[babeltrace.git] / lib / trace-ir / field-path.c
index 5cb2a96d70049e85c82910997bcfacb76cf92150..48a03a86b5ec82472a1bf18a75f55a4738c1b75d 100644 (file)
@@ -1,8 +1,4 @@
 /*
- * field-path.c
- *
- * Babeltrace trace IR - Field path
- *
  * Copyright 2013, 2014 Jérémie Galarneau <jeremie.galarneau@efficios.com>
  * Copyright 2016 Philippe Proulx <pproulx@efficios.com>
  *
@@ -33,6 +29,7 @@
 #include <babeltrace/trace-ir/field-classes-internal.h>
 #include <babeltrace/trace-ir/field-path-internal.h>
 #include <babeltrace/trace-ir/field-path.h>
+#include <babeltrace/object.h>
 #include <limits.h>
 #include <stdint.h>
 #include <inttypes.h>
@@ -47,6 +44,7 @@ void destroy_field_path(struct bt_object *obj)
        BT_ASSERT(field_path);
        BT_LIB_LOGD("Destroying field path: %!+P", field_path);
        g_array_free(field_path->indexes, TRUE);
+       field_path->indexes = NULL;
        g_free(field_path);
 }
 
@@ -74,7 +72,7 @@ struct bt_field_path *bt_field_path_create(void)
        goto end;
 
 error:
-       BT_PUT(field_path);
+       BT_OBJECT_PUT_REF_AND_RESET(field_path);
 
 end:
        return field_path;
This page took 0.024604 seconds and 4 git commands to generate.