From 22e2710e814b9f6239adb137db47cc4ae3fe507a Mon Sep 17 00:00:00 2001 From: Jakub Hrozek Date: Wed, 20 Apr 2016 11:54:31 +0200 Subject: [PATCH 2/2] IFP: Do not crash on invalid arguments to GetUserAttr --- src/responder/ifp/ifpsrv_cmd.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/responder/ifp/ifpsrv_cmd.c b/src/responder/ifp/ifpsrv_cmd.c index 399e83e0255700df5a24491a3eb33b4f92040ca7..b1e8f80f22d535b5e2579ac25b39b61b0fa5b33b 100644 --- a/src/responder/ifp/ifpsrv_cmd.c +++ b/src/responder/ifp/ifpsrv_cmd.c @@ -82,8 +82,10 @@ int ifp_user_get_attr(struct sbus_request *dbus_req, void *data) attr_req->ireq = ireq; ret = ifp_user_get_attr_unpack_msg(attr_req); - if (ret != EOK) { - return ret; /* handled internally */ + if (ret == ERR_SBUS_REQUEST_HANDLED) { + return EOK; /* handled internally */ + } else if (ret != EOK) { + return ret; /* internal error */ } DEBUG(SSSDBG_FUNC_DATA, @@ -117,7 +119,7 @@ ifp_user_get_attr_unpack_msg(struct ifp_attr_req *attr_req) DBUS_TYPE_INVALID); if (parsed == false) { DEBUG(SSSDBG_OP_FAILURE, "Could not parse arguments\n"); - return EOK; /* handled */ + return ERR_SBUS_REQUEST_HANDLED; } /* Copy the attributes to maintain memory hierarchy with talloc */ -- 2.4.11