heap_free(iter->stream_heap);
ret = heap_init(iter->stream_heap, 0, stream_compare);
if (ret < 0)
- goto error;
+ goto error_heap_init;
for (i = 0; i < iter_pos->u.restore->stream_saved_pos->len;
i++) {
heap_free(iter->stream_heap);
ret = heap_init(iter->stream_heap, 0, stream_compare);
if (ret < 0)
- goto error;
+ goto error_heap_init;
/* for each trace in the trace_collection */
for (i = 0; i < tc->array->len; i++) {
heap_free(iter->stream_heap);
ret = heap_init(iter->stream_heap, 0, stream_compare);
if (ret < 0)
- goto error;
+ goto error_heap_init;
for (i = 0; i < tc->array->len; i++) {
struct ctf_trace *tin;
error:
heap_free(iter->stream_heap);
+error_heap_init:
if (heap_init(iter->stream_heap, 0, stream_compare) < 0) {
heap_free(iter->stream_heap);
g_free(iter->stream_heap);
iter->stream_heap = NULL;
ret = -ENOMEM;
}
+
return ret;
}
heap_free(iter->stream_heap);
error_heap_init:
g_free(iter->stream_heap);
+ iter->stream_heap = NULL;
error_ctx:
return ret;
}