From 8f2eceef78ee59146b32c7b385c402d19ca32a3b Mon Sep 17 00:00:00 2001 From: Pavel Březina Date: Wed, 2 Jul 2014 13:26:55 +0200 Subject: sbus_request: fix potential NULL dereference MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Reviewed-by: Lukáš Slebodník --- src/sbus/sssd_dbus_request.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/sbus/sssd_dbus_request.c b/src/sbus/sssd_dbus_request.c index 2d23931aa..2e3b9310e 100644 --- a/src/sbus/sssd_dbus_request.c +++ b/src/sbus/sssd_dbus_request.c @@ -63,10 +63,12 @@ sbus_request_invoke_or_finish(struct sbus_request *dbus_req, DBusError error; int ret; - if (invoker_fn) { + if (invoker_fn != NULL) { ret = invoker_fn(dbus_req, handler_fn); - } else { + } else if (handler_fn != NULL) { ret = handler_fn(dbus_req, handler_data); + } else { + ret = EINVAL; } switch(ret) { @@ -131,6 +133,11 @@ int sbus_request_fail_and_finish(struct sbus_request *dbus_req, DBusMessage *reply; int ret; + if (error == NULL) { + sbus_request_finish(dbus_req, NULL); + return ENOMEM; + } + reply = dbus_message_new_error(dbus_req->message, error->name, error->message); if (!reply) { DEBUG(SSSDBG_CRIT_FAILURE, "Out of memory allocating DBus message\n"); -- cgit