upstream: Use the caller provided (copied) pwent struct in
load_public_identity_files instead of calling getpwuid() again and discarding the argument. This prevents a client crash where tilde_expand_filename calls getpwuid() again before the pwent pointer is used. Issue noticed and reported by Pierre-Olivier Martel <pom@apple.com> ok djm@ deraadt@ OpenBSD-Commit-ID: a067d74b5b098763736c94cc1368de8ea3f0b157
This commit is contained in:
parent
e2127abb10
commit
8e433c2083
4
ssh.c
4
ssh.c
|
@ -1,4 +1,4 @@
|
|||
/* $OpenBSD: ssh.c,v 1.488 2018/07/19 10:28:47 dtucker Exp $ */
|
||||
/* $OpenBSD: ssh.c,v 1.489 2018/07/25 13:10:56 beck Exp $ */
|
||||
/*
|
||||
* Author: Tatu Ylonen <ylo@cs.hut.fi>
|
||||
* Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
|
||||
|
@ -2011,8 +2011,6 @@ load_public_identity_files(struct passwd *pw)
|
|||
free(keys);
|
||||
}
|
||||
#endif /* ENABLE_PKCS11 */
|
||||
if ((pw = getpwuid(original_real_uid)) == NULL)
|
||||
fatal("load_public_identity_files: getpwuid failed");
|
||||
for (i = 0; i < options.num_identity_files; i++) {
|
||||
if (n_ids >= SSH_MAX_IDENTITY_FILES ||
|
||||
strcasecmp(options.identity_files[i], "none") == 0) {
|
||||
|
|
Loading…
Reference in New Issue