Even though all known kernels send the uid= parm to userspace,
cifs.upcall doesn't technically require it. It should though. If one
wasn't sent for some reason, then the setuid wouldn't occur. Error out
if there is no uid= or creduid= parm.

Signed-off-by: Jeff Layton <jlay...@samba.org>
---
 cifs.upcall.c |    5 +++++
 1 files changed, 5 insertions(+), 0 deletions(-)

diff --git a/cifs.upcall.c b/cifs.upcall.c
index 1f4341d..8f7850a 100644
--- a/cifs.upcall.c
+++ b/cifs.upcall.c
@@ -707,6 +707,11 @@ int main(const int argc, char *const argv[])
                        goto out;
                }
                ccname = find_krb5_cc(CIFS_DEFAULT_KRB5_DIR, arg.uid);
+       } else {
+               /* no uid= or creduid= parm -- something is wrong */
+               syslog(LOG_ERR, "No uid= or creduid= parm specified");
+               rc = 1;
+               goto out;
        }
 
        host = arg.hostname;
-- 
1.7.1.1

--
To unsubscribe from this list: send the line "unsubscribe linux-cifs" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to