summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormarkus@openbsd.org <markus@openbsd.org>2020-03-06 18:27:15 +0000
committerDamien Miller <djm@mindrot.org>2020-03-13 13:18:31 +1100
commit31c39e7840893f1bfdcbe4f813b20d1d7e69ec3e (patch)
treed2114ef73f029a2c1c25c9a685468543d7c9344c
parente26a31757c5df2f58687cb9a4853d1418f39728e (diff)
upstream: principalsp is optional, pubkey required; ok djm
OpenBSD-Commit-ID: 2cc3ea5018c28ed97edaccd7f17d2cc796f01024
-rw-r--r--sshsig.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/sshsig.c b/sshsig.c
index 77df4db86..ef6c4e526 100644
--- a/sshsig.c
+++ b/sshsig.c
@@ -963,7 +963,7 @@ get_matching_principals_from_line(const char *path, u_long linenum, char *line,
963 goto done; 963 goto done;
964 } 964 }
965 done: 965 done:
966 if (found) { 966 if (found && principalsp != NULL) {
967 *principalsp = principals; 967 *principalsp = principals;
968 principals = NULL; /* transferred */ 968 principals = NULL; /* transferred */
969 } 969 }
@@ -1026,8 +1026,8 @@ sshsig_get_pubkey(struct sshbuf *signature, struct sshkey **pubkey)
1026 struct sshkey *pk = NULL; 1026 struct sshkey *pk = NULL;
1027 int r = SSH_ERR_SIGNATURE_INVALID; 1027 int r = SSH_ERR_SIGNATURE_INVALID;
1028 1028
1029 if (pubkey != NULL) 1029 if (pubkey == NULL)
1030 *pubkey = NULL; 1030 return SSH_ERR_INTERNAL_ERROR;
1031 if ((r = sshsig_parse_preamble(signature)) != 0) 1031 if ((r = sshsig_parse_preamble(signature)) != 0)
1032 return r; 1032 return r;
1033 if ((r = sshkey_froms(signature, &pk)) != 0) 1033 if ((r = sshkey_froms(signature, &pk)) != 0)