summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorTom Hacohen <tom@stosb.com>2013-09-30 14:07:20 +0100
committerTom Hacohen <tom@stosb.com>2013-09-30 14:07:20 +0100
commit8ca320a1fc9448c051bdb3e42a972c1ad0da9161 (patch)
tree446747193b0bba159637fbe6331088bcd59e28c8 /src
parent642e4293fff1713b1ade7c112c5088d11d4a31ff (diff)
Eo: don't va_start without a matching va_end.
Fixes coverity CID1099708.
Diffstat (limited to 'src')
-rw-r--r--src/lib/eo/eo.c8
1 files 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, ...)
380 va_list p_list; 380 va_list p_list;
381 Eina_Bool class_ref = _eo_is_a_class(obj_id); 381 Eina_Bool class_ref = _eo_is_a_class(obj_id);
382 382
383 va_start(p_list, obj_id);
384 if (class_ref) 383 if (class_ref)
385 { 384 {
386 EO_CLASS_POINTER_RETURN_VAL(obj_id, klass, EINA_FALSE); 385 EO_CLASS_POINTER_RETURN_VAL(obj_id, klass, EINA_FALSE);
386
387 va_start(p_list, obj_id);
387 ret = _eo_class_dov_internal(file, line, klass, &p_list); 388 ret = _eo_class_dov_internal(file, line, klass, &p_list);
389 va_end(p_list);
388 } 390 }
389 else 391 else
390 { 392 {
391 EO_OBJ_POINTER_RETURN_VAL(obj_id, obj, EINA_FALSE); 393 EO_OBJ_POINTER_RETURN_VAL(obj_id, obj, EINA_FALSE);
394
395 va_start(p_list, obj_id);
392 ret = _eo_obj_dov_internal(file, line, obj, &p_list); 396 ret = _eo_obj_dov_internal(file, line, obj, &p_list);
397 va_end(p_list);
393 } 398 }
394 va_end(p_list);
395 399
396 return ret; 400 return ret;
397} 401}