From 0430165f7b67145768aa198239e381b1f1a8ba45 Mon Sep 17 00:00:00 2001 From: ckolivas Date: Fri, 18 Oct 2013 10:26:31 +1100 Subject: [PATCH] Fix cgcompletion return code and free on successful completion. --- util.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/util.c b/util.c index 7494b6a1..c05d586e 100644 --- a/util.c +++ b/util.c @@ -2510,11 +2510,11 @@ bool _cg_completion_timeout(void *fn, void *fnarg, int timeout, const char *file { struct cg_completion *cgc; pthread_t pthread; - bool ret; + bool ret = false; cgc = malloc(sizeof(struct cg_completion)); if (unlikely(!cgc)) - return false; + return ret; cgsem_init(&cgc->cgsem); cgc->fn = fn; cgc->fnarg = fnarg; @@ -2522,7 +2522,7 @@ bool _cg_completion_timeout(void *fn, void *fnarg, int timeout, const char *file pthread_create(&pthread, NULL, completion_thread, (void *)cgc); ret = cgsem_mswait(&cgc->cgsem, timeout); - if (ret) + if (!ret) free(cgc); - return ret; + return !ret; }