eldbus: unref msg on error
authorSebastian Dransfeld <sd@tango.flipp.net>
Sat, 7 Dec 2013 14:31:46 +0000 (15:31 +0100)
committerSebastian Dransfeld <sd@tango.flipp.net>
Sat, 7 Dec 2013 20:11:33 +0000 (21:11 +0100)
If we return here, the msg isn't sent, so unref it.

Fixes CID 1039178

src/lib/eldbus/eldbus_service.c

index 693cdf3..bb300c0 100644 (file)
@@ -1380,7 +1380,11 @@ eldbus_service_signal_emit(const Eldbus_Service_Interface *iface, unsigned int s
    va_start(ap, signal_id);
    r = eldbus_message_arguments_vappend(sig, signature, ap);
    va_end(ap);
-   EINA_SAFETY_ON_FALSE_RETURN_VAL(r, EINA_FALSE);
+   if (!r)
+     {
+        eldbus_message_unref(sig);
+        return EINA_FALSE;
+     }
 
    eldbus_service_signal_send(iface, sig);
    return EINA_TRUE;