callbacks.c: handle extract_ctf_stream_event return value
[babeltrace.git] / formats / ctf / callbacks.c
index 05ddf499a76c915bf2332106d9edbe8d179e7405..16c7e0a186a466f6be505ce79510e77b493fdded 100644 (file)
@@ -73,8 +73,12 @@ int bt_ctf_iter_add_callback(struct bt_ctf_iter *iter,
        int i, stream_id;
        gpointer *event_id_ptr;
        unsigned long event_id;
-       struct trace_collection *tc = iter->parent.ctx->tc;
+       struct trace_collection *tc;
 
+       if (!iter || !callback)
+               return -EINVAL;
+
+       tc = iter->parent.ctx->tc;
        for (i = 0; i < tc->array->len; i++) {
                struct ctf_trace *tin;
                struct trace_descriptor *td_read;
@@ -181,7 +185,11 @@ void process_callbacks(struct bt_ctf_iter *iter,
        enum bt_cb_ret ret;
        struct bt_ctf_event ctf_data;
 
+       assert(iter && stream);
+
        ret = extract_ctf_stream_event(stream, &ctf_data);
+       if (ret)
+               goto end;
 
        /* process all events callback first */
        if (iter->main_callbacks.callback) {
This page took 0.023258 seconds and 4 git commands to generate.