From 7d4c063fbb70d6083467ec3a5971fe596113fc31 Mon Sep 17 00:00:00 2001 From: Stefan Schmidt Date: Thu, 4 Sep 2014 10:35:05 +0200 Subject: [PATCH] eldbus: Only call va_end() if the signature does not match after rewrite If git log is right this is patch number 4 for this CID. Lets hope we handle all cases for starting and ending va now. CID 1039883 --- src/lib/eldbus/eldbus_message.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/lib/eldbus/eldbus_message.c b/src/lib/eldbus/eldbus_message.c index 820afed13d..d6b18d3596 100644 --- a/src/lib/eldbus/eldbus_message.c +++ b/src/lib/eldbus/eldbus_message.c @@ -710,8 +710,11 @@ eldbus_message_iter_get_and_next(Eldbus_Message_Iter *iter, char signature, ...) { if (signature == '(') signature = 'r'; else if (signature == '{') signature = 'e'; - va_end(vl); - EINA_SAFETY_ON_FALSE_RETURN_VAL(type == signature, EINA_FALSE); + if (type != signature) + { + va_end(vl); + return EINA_FALSE; + } } if (dbus_type_is_basic(type))