[SSSD] [PATCH] SBUS: Initialize DBusError before using it
Jakub Hrozek
jhrozek at redhat.com
Tue Nov 25 14:08:26 UTC 2014
On Tue, Nov 25, 2014 at 11:03:59AM +0100, Lukas Slebodnik wrote:
> On (24/11/14 16:45), Jakub Hrozek wrote:
> >I managed to make be_pam_handler() fail, which to my suprise resulted in
> >sssd_be segfaulting. Attached patch fixes that.
>
> >From 66b9617feb4db88d16f46f36610d58cea55e6858 Mon Sep 17 00:00:00 2001
> >From: Jakub Hrozek <jhrozek at redhat.com>
> >Date: Sun, 23 Nov 2014 19:58:45 +0100
> >Subject: [PATCH] SBUS: Initialize DBusError before using it
> >
> >In case either handler_fn() or invoker_fn() failed in
> >sbus_request_invoke_or_finish() we would have accessed an uninitialized
> >DBusError variable, causing a segfault.
> >---
> > src/sbus/sssd_dbus_request.c | 1 +
> > 1 file changed, 1 insertion(+)
> >
> >diff --git a/src/sbus/sssd_dbus_request.c b/src/sbus/sssd_dbus_request.c
> >index 677ed532f7555f6aeba378ebd9a0b06167ddfa1b..2db9513f638baa8ba5e00c8a6890a78b3f97c015 100644
> >--- a/src/sbus/sssd_dbus_request.c
> >+++ b/src/sbus/sssd_dbus_request.c
> >@@ -79,6 +79,7 @@ sbus_request_invoke_or_finish(struct sbus_request *dbus_req,
> > sbus_request_finish(dbus_req, NULL);
> > break;
> > default:
> >+ dbus_error_init(&error);
> > dbus_set_error_const(&error, DBUS_ERROR_FAILED, INTERNAL_ERROR);
> > sbus_request_fail_and_finish(dbus_req, &error);
> > break;
>
> We use DBUS_ERROR_INIT on some places, but dbus_error_init() is good as well.
>
> LS
* master: 6c4b1250ece32296ccdc15eccf2a0f740b3768b0
More information about the sssd-devel
mailing list