Blob Blame History Raw

--- openssh-6.6p1/pam_ssh_agent_auth-0.9.3/pam_user_authorized_keys.c.psaa-command	2016-04-20 09:31:32.164686370 +0200
+++ openssh-6.6p1/pam_ssh_agent_auth-0.9.3/pam_user_authorized_keys.c	2016-04-20 09:35:49.778344576 +0200
@@ -145,11 +145,14 @@
 int
 pam_user_key_allowed(const char *ruser, Key * key)
 {
-    return
-        pamsshagentauth_user_key_allowed2(getpwuid(authorized_keys_file_allowed_owner_uid),
-                                          key, authorized_keys_file)
-        || pamsshagentauth_user_key_allowed2(getpwuid(0), key,
-                                             authorized_keys_file)
+    struct passwd *file_pw, *root_pw;
+    file_pw = getpwuid(authorized_keys_file_allowed_owner_uid);
+    root_pw = getpwuid(0);
+    return
+        (file_pw != NULL &&
+            pamsshagentauth_user_key_allowed2(file_pw, key, authorized_keys_file))
+        || (root_pw != NULL &&
+            pamsshagentauth_user_key_allowed2(root_pw, key, authorized_keys_file))
         || pamsshagentauth_user_key_command_allowed2(authorized_keys_command,
                                                      authorized_keys_command_user,
                                                      getpwnam(ruser), key);