[SSSD] [PATCH] SBUS: Fir error handling after closing container
Lukas Slebodnik
lslebodn at redhat.com
Mon Oct 13 07:51:17 UTC 2014
On (12/10/14 16:54), Jakub Hrozek wrote:
>On Sat, Oct 11, 2014 at 11:43:28PM +0200, Lukas Slebodnik wrote:
>> ehlo,
>>
>> 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.
>>
>> simple patch is attached.
>>
>> LS
>
>Can you also add goto done to the next EINVAL handler and ret=EOK just
>before the done: label? That way the code will also be safe against
>future additions.
Sure,
updated patch is attached.
LS
-------------- next part --------------
>From fac3031392c09ab1827e28311eaa0addbfb5fc46 Mon Sep 17 00:00:00 2001
From: Lukas Slebodnik <lslebodn at redhat.com>
Date: Fri, 10 Oct 2014 19:23:33 +0200
Subject: [PATCH] SBUS: Fir 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.
---
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:
--
2.1.0
More information about the sssd-devel
mailing list