X-Git-Url: http://git.efficios.com/?p=lttng-tools.git;a=blobdiff_plain;f=src%2Fbin%2Flttng-sessiond%2Fjul.c;h=8b57b8d70cd7215fbfe393e76be097a6ce01f68c;hp=4f2250dff62588baf9828edd4205de896ae8e0b2;hb=96090c92aec2d6f1565d8352a3eb309d130e19f7;hpb=3c6a091f88fa6b237729cab17d6f6d227da82f59 diff --git a/src/bin/lttng-sessiond/jul.c b/src/bin/lttng-sessiond/jul.c index 4f2250dff..8b57b8d70 100644 --- a/src/bin/lttng-sessiond/jul.c +++ b/src/bin/lttng-sessiond/jul.c @@ -414,7 +414,7 @@ int jul_list_events(struct lttng_event **events) int ret; size_t nbmem, count = 0; struct jul_app *app; - struct lttng_event *tmp_events; + struct lttng_event *tmp_events = NULL; struct lttng_ht_iter iter; assert(events); @@ -450,9 +450,9 @@ int jul_list_events(struct lttng_event **events) ptr = realloc(tmp_events, nbmem * sizeof(*tmp_events)); if (!ptr) { PERROR("realloc JUL events"); - free(tmp_events); ret = -ENOMEM; rcu_read_unlock(); + free(jul_events); goto error; } tmp_events = ptr; @@ -466,8 +466,10 @@ int jul_list_events(struct lttng_event **events) ret = count; *events = tmp_events; + return ret; error: + free(tmp_events); return ret; }