From 06db46d511ea4d5cce23354ed3c3a0069f06e27f Mon Sep 17 00:00:00 2001 From: Lukas Slebodnik Date: Fri, 10 Oct 2014 19:23:33 +0200 Subject: [PATCH 42/46] SBUS: Fix error handling after closing container If function dbus_message_iter_close_container fail the return variable ret will be set to EINVAL, but function will not be immediately terminated. "goto done" was missing. Reviewed-by: Jakub Hrozek (cherry picked from commit 82b5395c1519b9392ddd323ece0845b51a994bbc) --- src/sbus/sssd_dbus_request.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/sbus/sssd_dbus_request.c b/src/sbus/sssd_dbus_request.c index 7729d4e0d7bf6e517e2efce4dbeb064f6f471b87..677ed532f7555f6aeba378ebd9a0b06167ddfa1b 100644 --- a/src/sbus/sssd_dbus_request.c +++ b/src/sbus/sssd_dbus_request.c @@ -286,6 +286,7 @@ int sbus_request_return_array_as_variant(struct sbus_request *dbus_req, DBUS_ERROR_FAILED, "Could not close array\n")); ret = EINVAL; + goto done; } dbret = dbus_message_iter_close_container(&iter, &variant_iter); @@ -298,6 +299,7 @@ int sbus_request_return_array_as_variant(struct sbus_request *dbus_req, DBUS_ERROR_FAILED, "Could not close variant\n")); ret = EINVAL; + goto done; } done: -- 1.9.3