lib: trace IR, values: reset pointers to `NULL` on destruction
[babeltrace.git] / lib / trace-ir / stream-class.c
index d3e1e90ec834fd070da22e0ff6417ad4d428375d..9d016844f83bfe14038dbe1845e1bc78679607c8 100644 (file)
@@ -56,23 +56,26 @@ void destroy_stream_class(struct bt_object *obj)
 
        BT_LIB_LOGD("Destroying stream class: %!+S", stream_class);
        BT_LOGD_STR("Putting default clock class.");
-       bt_object_put_ref(stream_class->default_clock_class);
+       BT_OBJECT_PUT_REF_AND_RESET(stream_class->default_clock_class);
 
        if (stream_class->event_classes) {
                BT_LOGD_STR("Destroying event classes.");
                g_ptr_array_free(stream_class->event_classes, TRUE);
+               stream_class->event_classes = NULL;
        }
 
        if (stream_class->name.str) {
                g_string_free(stream_class->name.str, TRUE);
+               stream_class->name.str = NULL;
+               stream_class->name.value = NULL;
        }
 
        BT_LOGD_STR("Putting event header field classe.");
-       bt_object_put_ref(stream_class->event_header_fc);
+       BT_OBJECT_PUT_REF_AND_RESET(stream_class->event_header_fc);
        BT_LOGD_STR("Putting packet context field classe.");
-       bt_object_put_ref(stream_class->packet_context_fc);
+       BT_OBJECT_PUT_REF_AND_RESET(stream_class->packet_context_fc);
        BT_LOGD_STR("Putting event common context field classe.");
-       bt_object_put_ref(stream_class->event_common_context_fc);
+       BT_OBJECT_PUT_REF_AND_RESET(stream_class->event_common_context_fc);
        bt_object_pool_finalize(&stream_class->event_header_field_pool);
        bt_object_pool_finalize(&stream_class->packet_context_field_pool);
        g_free(stream_class);
This page took 0.02285 seconds and 4 git commands to generate.