summaryrefslogtreecommitdiffstats
path: root/auth2-pubkey.c
diff options
context:
space:
mode:
authormarkus@openbsd.org <markus@openbsd.org>2017-05-31 10:54:00 +0000
committerDamien Miller <djm@mindrot.org>2017-06-01 14:55:23 +1000
commit75b8af8de805c0694b37fcf80ce82783b2acc86f (patch)
treed93d2b497f3eba328181548e20365f8c649ecfac /auth2-pubkey.c
parent84008608c9ee944d9f72f5100f31ccff743b10f2 (diff)
upstream commit
make sure we don't pass a NULL string to vfprintf (triggered by the principals-command regress test); ok bluhm Upstream-ID: eb49854f274ab37a0b57056a6af379a0b7111990
Diffstat (limited to 'auth2-pubkey.c')
-rw-r--r--auth2-pubkey.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/auth2-pubkey.c b/auth2-pubkey.c
index 271dbaf6..5794f1f4 100644
--- a/auth2-pubkey.c
+++ b/auth2-pubkey.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: auth2-pubkey.c,v 1.66 2017/05/31 09:15:42 deraadt Exp $ */
+/* $OpenBSD: auth2-pubkey.c,v 1.67 2017/05/31 10:54:00 markus Exp $ */
/*
* Copyright (c) 2000 Markus Friedl. All rights reserved.
*
@@ -587,7 +587,7 @@ match_principals_option(const char *principal_list, struct sshkey_cert *cert)
}
static int
-process_principals(FILE *f, char *file, struct passwd *pw,
+process_principals(FILE *f, const char *file, struct passwd *pw,
const struct sshkey_cert *cert)
{
char line[SSH_MAX_PUBKEY_BYTES], *cp, *ep, *line_opts;
@@ -625,8 +625,7 @@ process_principals(FILE *f, char *file, struct passwd *pw,
for (i = 0; i < cert->nprincipals; i++) {
if (strcmp(cp, cert->principals[i]) == 0) {
debug3("%s:%lu: matched principal \"%.100s\"",
- file == NULL ? "(command)" : file,
- linenum, cert->principals[i]);
+ file, linenum, cert->principals[i]);
if (auth_parse_options(pw, line_opts,
file, linenum) != 1)
continue;
@@ -757,7 +756,7 @@ match_principals_command(struct passwd *user_pw, const struct sshkey *key)
uid_swapped = 1;
temporarily_use_uid(pw);
- ok = process_principals(f, NULL, pw, cert);
+ ok = process_principals(f, "(command)", pw, cert);
fclose(f);
f = NULL;