From 5e7d41625cac7c0e2822615ddfb6f5422b284437 Mon Sep 17 00:00:00 2001 From: tb <> Date: Mon, 14 Sep 2020 17:52:38 +0000 Subject: Avoid NULL deref SSL_{,CTX_}set_ciphersuites Move assignment to the correct place so that the run continuation condition actually checks what it is supposed to. Found by getting lucky when running regress. ok beck jsing --- src/lib/libssl/ssl_ciphers.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/lib/libssl/ssl_ciphers.c') diff --git a/src/lib/libssl/ssl_ciphers.c b/src/lib/libssl/ssl_ciphers.c index d84e4c6154..0912fb6d25 100644 --- a/src/lib/libssl/ssl_ciphers.c +++ b/src/lib/libssl/ssl_ciphers.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ssl_ciphers.c,v 1.7 2020/09/13 16:49:05 jsing Exp $ */ +/* $OpenBSD: ssl_ciphers.c,v 1.8 2020/09/14 17:52:38 tb Exp $ */ /* * Copyright (c) 2015-2017 Doug Hogan * Copyright (c) 2015-2018, 2020 Joel Sing @@ -237,11 +237,11 @@ ssl_parse_ciphersuites(STACK_OF(SSL_CIPHER) **out_ciphers, const char *str) while ((p = strsep(&q, ":")) != NULL) { ciphersuite = &ssl_tls13_ciphersuites[0]; for (i = 0; ciphersuite->name != NULL; i++) { - ciphersuite = &ssl_tls13_ciphersuites[i]; if (strcmp(p, ciphersuite->name) == 0) break; if (strcmp(p, ciphersuite->alias) == 0) break; + ciphersuite = &ssl_tls13_ciphersuites[i]; } if (ciphersuite->name == NULL) goto err; -- cgit v1.2.3-55-g6feb