X-Git-Url: http://git.efficios.com/?p=babeltrace.git;a=blobdiff_plain;f=lib%2Ftrace-ir%2Ffields.c;h=8eadc75711f9e902fbe187ae9e90a99dacec7865;hp=91e85099fefe0aa1a20de5ce7b72b99f23a368d8;hb=238b7404b66983c6ba15c3a44bfbf642f20bdabe;hpb=140e6d943ff8f5657db28fbbe24ee8c98b7ca2f9 diff --git a/lib/trace-ir/fields.c b/lib/trace-ir/fields.c index 91e85099..8eadc757 100644 --- a/lib/trace-ir/fields.c +++ b/lib/trace-ir/fields.c @@ -871,7 +871,7 @@ void bt_field_finalize(struct bt_field *field) { BT_ASSERT(field); BT_LOGD_STR("Putting field's class."); - bt_object_put_ref(field->class); + BT_OBJECT_PUT_REF_AND_RESET(field->class); } static @@ -903,6 +903,7 @@ void destroy_structure_field(struct bt_field *field) if (struct_field->fields) { g_ptr_array_free(struct_field->fields, TRUE); + struct_field->fields = NULL; } g_free(field); @@ -919,6 +920,7 @@ void destroy_variant_field(struct bt_field *field) if (var_field->fields) { g_ptr_array_free(var_field->fields, TRUE); + var_field->fields = NULL; } g_free(field); @@ -935,6 +937,7 @@ void destroy_array_field(struct bt_field *field) if (array_field->fields) { g_ptr_array_free(array_field->fields, TRUE); + array_field->fields = NULL; } g_free(field); @@ -951,6 +954,7 @@ void destroy_string_field(struct bt_field *field) if (string_field->buf) { g_array_free(string_field->buf, TRUE); + string_field->buf = NULL; } g_free(field);