Hi Pavel,

can you check if this is the right thing to do for methods that parse
arguments on their own?

To reproduce, it was enough to run:
    sudo dbus-send --print-reply --system
    --dest=org.freedesktop.sssd.infopipe /org/freedesktop/sssd/infopipe
    org.freedesktop.sssd.infopipe.GetUserAttr string:admin
    string:gecos
instead of the proper:
    sudo dbus-send --print-reply --system
    --dest=org.freedesktop.sssd.infopipe /org/freedesktop/sssd/infopipe
    org.freedesktop.sssd.infopipe.GetUserAttr string:admin
    array:string:gecos
>From 220b9124e81961a3febe814a0cb70d4fcfc2ade2 Mon Sep 17 00:00:00 2001
From: Jakub Hrozek <jhro...@redhat.com>
Date: Wed, 20 Apr 2016 11:54:31 +0200
Subject: [PATCH] IFP: Do not crash on invalid arguments to GetUserAttr

---
 src/responder/ifp/ifpsrv_cmd.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/responder/ifp/ifpsrv_cmd.c b/src/responder/ifp/ifpsrv_cmd.c
index 
399e83e0255700df5a24491a3eb33b4f92040ca7..43dbce53c0395edfd7e8e6d87b609c52e835eaa0
 100644
--- a/src/responder/ifp/ifpsrv_cmd.c
+++ b/src/responder/ifp/ifpsrv_cmd.c
@@ -117,7 +117,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 EINVAL;
     }
 
     /* Copy the attributes to maintain memory hierarchy with talloc */
-- 
2.4.11

_______________________________________________
sssd-devel mailing list
sssd-devel@lists.fedorahosted.org
https://lists.fedorahosted.org/admin/lists/sssd-devel@lists.fedorahosted.org

Reply via email to