]> git.ipfire.org Git - thirdparty/openssh-portable.git/commitdiff
upstream: better error code for bad arguments; inspired by
authordjm@openbsd.org <djm@openbsd.org>
Fri, 6 Sep 2019 01:58:50 +0000 (01:58 +0000)
committerDamien Miller <djm@mindrot.org>
Fri, 6 Sep 2019 02:01:45 +0000 (12:01 +1000)
OpenBSD-Commit-ID: dfc263b6041de7f0ed921a1de0b81ddebfab1e0a

kex.c

diff --git a/kex.c b/kex.c
index 1eb27264acab80193505d71b0969028bfa9647cc..84f8e2aa9a7cb16d0202df2a52b0f4f30fad0c30 100644 (file)
--- a/kex.c
+++ b/kex.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: kex.c,v 1.152 2019/09/05 09:35:19 djm Exp $ */
+/* $OpenBSD: kex.c,v 1.153 2019/09/06 01:58:50 djm Exp $ */
 /*
  * Copyright (c) 2000, 2001 Markus Friedl.  All rights reserved.
  *
@@ -223,7 +223,10 @@ kex_assemble_names(char **listp, const char *def, const char *all)
        char *list = NULL, *ret = NULL, *matching = NULL, *opatterns = NULL;
        int r = SSH_ERR_INTERNAL_ERROR;
 
-       if (listp == NULL || *listp == NULL || **listp == '\0') {
+       if (listp == NULL || def == NULL || all == NULL)
+               return SSH_ERR_INVALID_ARGUMENT;
+
+       if (*listp == NULL || **listp == '\0') {
                if ((*listp = strdup(def)) == NULL)
                        return SSH_ERR_ALLOC_FAIL;
                return 0;