]> git.ipfire.org Git - thirdparty/openssh-portable.git/commitdiff
upstream: fix NULL dereference for Match conditions missing
authordjm@openbsd.org <djm@openbsd.org>
Tue, 18 Mar 2025 04:53:14 +0000 (04:53 +0000)
committerDamien Miller <djm@mindrot.org>
Tue, 18 Mar 2025 04:56:37 +0000 (15:56 +1100)
arguments, e.g. "Match user". Spotted by Coverity (CID 477813)

OpenBSD-Commit-ID: 13584281cfa23b8ebc41f9d128a6b9464ae960d4

readconf.c

index c7630f6e5ed09b3e05a39cf5c68cbbdd93a69c38..7cbe7d2c2dc5d3599e4cbef8e9e74485ad0a681d 100644 (file)
@@ -1,4 +1,4 @@
-/* $OpenBSD: readconf.c,v 1.397 2025/02/15 01:52:07 djm Exp $ */
+/* $OpenBSD: readconf.c,v 1.398 2025/03/18 04:53:14 djm Exp $ */
 /*
  * Author: Tatu Ylonen <ylo@cs.hut.fi>
  * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
@@ -795,8 +795,11 @@ match_cfg_line(Options *options, const char *full_line, int *acp, char ***avp,
                    strprefix(attrib, "exec=", 1) != NULL) {
                        arg = strchr(attrib, '=');
                        *(arg++) = '\0';
-               } else {
-                       arg = argv_next(acp, avp);
+               } else if ((arg = argv_next(acp, avp)) == NULL) {
+                       error("%.200s line %d: missing argument for Match '%s'",
+                           filename, linenum, oattrib);
+                       result = -1;
+                       goto out;
                }
 
                /*