]> git.ipfire.org Git - thirdparty/openssh-portable.git/commitdiff
upstream: principalsp is optional, pubkey required; ok djm
authormarkus@openbsd.org <markus@openbsd.org>
Fri, 6 Mar 2020 18:27:15 +0000 (18:27 +0000)
committerDamien Miller <djm@mindrot.org>
Fri, 13 Mar 2020 02:18:31 +0000 (13:18 +1100)
OpenBSD-Commit-ID: 2cc3ea5018c28ed97edaccd7f17d2cc796f01024

sshsig.c

index 77df4db86175d435c9184be25f0e8a202b25d92d..ef6c4e526f533c6e863ae51de9d340bfb77981dc 100644 (file)
--- a/sshsig.c
+++ b/sshsig.c
@@ -963,7 +963,7 @@ get_matching_principals_from_line(const char *path, u_long linenum, char *line,
                goto done;
        }
  done:
-       if (found) {
+       if (found && principalsp != NULL) {
                *principalsp = principals;
                principals = NULL; /* transferred */
        }
@@ -1026,8 +1026,8 @@ sshsig_get_pubkey(struct sshbuf *signature, struct sshkey **pubkey)
        struct sshkey *pk = NULL;
        int r = SSH_ERR_SIGNATURE_INVALID;
 
-       if (pubkey != NULL)
-               *pubkey = NULL;
+       if (pubkey == NULL)
+               return SSH_ERR_INTERNAL_ERROR;
        if ((r = sshsig_parse_preamble(signature)) != 0)
                return r;
        if ((r = sshkey_froms(signature, &pk)) != 0)