From 8ca320a1fc9448c051bdb3e42a972c1ad0da9161 Mon Sep 17 00:00:00 2001 From: Tom Hacohen Date: Mon, 30 Sep 2013 14:07:20 +0100 Subject: [PATCH] Eo: don't va_start without a matching va_end. Fixes coverity CID1099708. --- src/lib/eo/eo.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/lib/eo/eo.c b/src/lib/eo/eo.c index fca2b19e0b..2abff09f63 100644 --- a/src/lib/eo/eo.c +++ b/src/lib/eo/eo.c @@ -380,18 +380,22 @@ eo_do_internal(const char *file, int line, const Eo *obj_id, ...) va_list p_list; Eina_Bool class_ref = _eo_is_a_class(obj_id); - va_start(p_list, obj_id); if (class_ref) { EO_CLASS_POINTER_RETURN_VAL(obj_id, klass, EINA_FALSE); + + va_start(p_list, obj_id); ret = _eo_class_dov_internal(file, line, klass, &p_list); + va_end(p_list); } else { EO_OBJ_POINTER_RETURN_VAL(obj_id, obj, EINA_FALSE); + + va_start(p_list, obj_id); ret = _eo_obj_dov_internal(file, line, obj, &p_list); + va_end(p_list); } - va_end(p_list); return ret; }