From 4472085c7db6ddfbb505622256a728f8e3a2bd4e Mon Sep 17 00:00:00 2001 From: offa Date: Mon, 27 Apr 2015 18:41:50 +0200 Subject: [PATCH] Possible leak fixed. --- src/event.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/event.c b/src/event.c index cca6ce6..6146c95 100644 --- a/src/event.c +++ b/src/event.c @@ -45,8 +45,10 @@ struct event *read_event(FILE *f) { case ASSERT: { const size_t assert_size = sizeof (struct criterion_assert_stats); unsigned char *buf = malloc(assert_size); - if (fread(buf, assert_size, 1, f) == 0) + if (fread(buf, assert_size, 1, f) == 0) { + free(buf); return NULL; + } return unique_ptr(struct event, .value = { .kind = kind, .data = buf }, @@ -54,8 +56,10 @@ struct event *read_event(FILE *f) { } case POST_TEST: { double *elapsed_time = malloc(sizeof (double)); - if (fread(elapsed_time, sizeof (double), 1, f) == 0) + if (fread(elapsed_time, sizeof (double), 1, f) == 0) { + free(elapsed_time); return NULL; + } return unique_ptr(struct event, .value = { .kind = kind, .data = elapsed_time },