]> git.ipfire.org Git - thirdparty/openssh-portable.git/commitdiff
upstream: Make sure sftp_get_limits() only returns 0 if 'limits'
authortobhe@openbsd.org <tobhe@openbsd.org>
Mon, 13 Nov 2023 09:18:19 +0000 (09:18 +0000)
committerDamien Miller <djm@mindrot.org>
Wed, 15 Nov 2023 22:53:42 +0000 (09:53 +1100)
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

sftp-client.c

index 2598029f7bd216cb6f87ef746e77cfa9e125272e..5cc8bb539a6ef06e6cc424b12b4acda876af6670 100644 (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>
  *
@@ -656,7 +656,7 @@ sftp_get_limits(struct sftp_conn *conn, struct sftp_limits *limits)
                /* Disable the limits extension */
                conn->exts &= ~SFTP_EXT_LIMITS;
                sshbuf_free(msg);
-               return 0;
+               return -1;
        }
 
        memset(limits, 0, sizeof(*limits));