From 1147f3a5ca22a4d1d4be45007d28856618890f26 Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Fri, 14 Jan 2011 08:04:23 +0000 Subject: [PATCH] fix null deref again, this time with the power of spankies SVN revision: 56105 --- legacy/eina/src/lib/eina_mempool.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/legacy/eina/src/lib/eina_mempool.c b/legacy/eina/src/lib/eina_mempool.c index d71a38d593..9d25e8ae7d 100644 --- a/legacy/eina/src/lib/eina_mempool.c +++ b/legacy/eina/src/lib/eina_mempool.c @@ -66,18 +66,18 @@ _new_va(const char *name, va_list args) { Eina_Mempool_Backend *be; - Eina_Mempool *mp = NULL; + Eina_Mempool *mp; Eina_Error err = EINA_ERROR_NOT_MEMPOOL_MODULE; eina_error_set(0); be = eina_hash_find(_backends, name); - if (!be) + if ((!be) || (!be->init)) goto on_error; err = EINA_ERROR_OUT_OF_MEMORY; mp = calloc(1, sizeof(Eina_Mempool)); - if ((!mp) || (!mp->backend.init)) + if (!mp) goto on_error; /* FIXME why backend is not a pointer? */ @@ -88,7 +88,6 @@ _new_va(const char *name, on_error: eina_error_set(err); - if (mp) free(mp); return NULL; }