[SSSD] [PATCH] SBUS: Initialize DBusError before using it

Jakub Hrozek jhrozek at redhat.com
Mon Nov 24 15:45:01 UTC 2014


I managed to make be_pam_handler() fail, which to my suprise resulted in
sssd_be segfaulting. Attached patch fixes that.
-------------- next part --------------
>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;
-- 
1.9.3



More information about the sssd-devel mailing list