upstream: Make sure sftp_get_limits() only returns 0 if 'limits'

was initialized. This fixes a potential uninitialized use of 'limits' in
sftp_init() if sftp_get_limits() returned early because of an unexpected
message type.

ok djm@

OpenBSD-Commit-ID: 1c177d7c3becc1d71bc8763eecf61873a1d3884c
This commit is contained in:
tobhe@openbsd.org 2023-11-13 09:18:19 +00:00 committed by Damien Miller
parent 64e0600f23
commit 676377ce67
No known key found for this signature in database
1 changed files with 2 additions and 2 deletions

View File

@ -1,4 +1,4 @@
/* $OpenBSD: sftp-client.c,v 1.174 2023/09/08 06:10:02 djm Exp $ */ /* $OpenBSD: sftp-client.c,v 1.175 2023/11/13 09:18:19 tobhe Exp $ */
/* /*
* Copyright (c) 2001-2004 Damien Miller <djm@openbsd.org> * Copyright (c) 2001-2004 Damien Miller <djm@openbsd.org>
* *
@ -656,7 +656,7 @@ sftp_get_limits(struct sftp_conn *conn, struct sftp_limits *limits)
/* Disable the limits extension */ /* Disable the limits extension */
conn->exts &= ~SFTP_EXT_LIMITS; conn->exts &= ~SFTP_EXT_LIMITS;
sshbuf_free(msg); sshbuf_free(msg);
return 0; return -1;
} }
memset(limits, 0, sizeof(*limits)); memset(limits, 0, sizeof(*limits));