Fix: bt_stream_common_finalize(): check `stream->destroy_listeners`
[babeltrace.git] / lib / ctf-ir / stream.c
index 2787230c873170bbd454eee8dd90060b0617a45e..70030454d6956c3cdbf68668ce5dc118e23f80d1 100644 (file)
@@ -52,14 +52,16 @@ void bt_stream_common_finalize(struct bt_stream_common *stream)
                stream, bt_stream_common_get_name(stream));
 
        /* Call destroy listeners in reverse registration order */
-       for (i = stream->destroy_listeners->len - 1; i >= 0; i--) {
-               struct bt_stream_common_destroy_listener *listener =
-                       &g_array_index(stream->destroy_listeners,
-                               struct bt_stream_common_destroy_listener, i);
-
-               BT_LOGD("Calling destroy listener: func=%p, data=%p, index=%d",
-                       listener->func, listener->data, i);
-               listener->func(stream, listener->data);
+       if (stream->destroy_listeners) {
+               for (i = stream->destroy_listeners->len - 1; i >= 0; i--) {
+                       struct bt_stream_common_destroy_listener *listener =
+                               &g_array_index(stream->destroy_listeners,
+                                       struct bt_stream_common_destroy_listener, i);
+
+                       BT_LOGD("Calling destroy listener: func=%p, data=%p, index=%d",
+                               listener->func, listener->data, i);
+                       listener->func(stream, listener->data);
+               }
        }
 
        if (stream->name) {
This page took 0.023223 seconds and 4 git commands to generate.