summaryrefslogtreecommitdiff
path: root/sshsig.c
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 /sshsig.c
parente26a31757c5df2f58687cb9a4853d1418f39728e (diff)
downloadopenssh-git-31c39e7840893f1bfdcbe4f813b20d1d7e69ec3e.tar.gz
upstream: principalsp is optional, pubkey required; ok djm
OpenBSD-Commit-ID: 2cc3ea5018c28ed97edaccd7f17d2cc796f01024
Diffstat (limited to 'sshsig.c')
-rw-r--r--sshsig.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/sshsig.c b/sshsig.c
index 77df4db8..ef6c4e52 100644
--- 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)