diff options
| author | tb <> | 2020-09-14 17:52:38 +0000 |
|---|---|---|
| committer | tb <> | 2020-09-14 17:52:38 +0000 |
| commit | a71bd2f78782e607e73c59e36b2cbb2249d3dfe2 (patch) | |
| tree | 653fe64272f8d9e955ef9a98d9b467e6d4ba4b75 | |
| parent | df0947ae70192dd0d00570480ad8dba3974d2f72 (diff) | |
| download | openbsd-a71bd2f78782e607e73c59e36b2cbb2249d3dfe2.tar.gz openbsd-a71bd2f78782e607e73c59e36b2cbb2249d3dfe2.tar.bz2 openbsd-a71bd2f78782e607e73c59e36b2cbb2249d3dfe2.zip | |
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
| -rw-r--r-- | src/lib/libssl/ssl_ciphers.c | 4 |
1 files changed, 2 insertions, 2 deletions
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 @@ | |||
| 1 | /* $OpenBSD: ssl_ciphers.c,v 1.7 2020/09/13 16:49:05 jsing Exp $ */ | 1 | /* $OpenBSD: ssl_ciphers.c,v 1.8 2020/09/14 17:52:38 tb Exp $ */ |
| 2 | /* | 2 | /* |
| 3 | * Copyright (c) 2015-2017 Doug Hogan <doug@openbsd.org> | 3 | * Copyright (c) 2015-2017 Doug Hogan <doug@openbsd.org> |
| 4 | * Copyright (c) 2015-2018, 2020 Joel Sing <jsing@openbsd.org> | 4 | * Copyright (c) 2015-2018, 2020 Joel Sing <jsing@openbsd.org> |
| @@ -237,11 +237,11 @@ ssl_parse_ciphersuites(STACK_OF(SSL_CIPHER) **out_ciphers, const char *str) | |||
| 237 | while ((p = strsep(&q, ":")) != NULL) { | 237 | while ((p = strsep(&q, ":")) != NULL) { |
| 238 | ciphersuite = &ssl_tls13_ciphersuites[0]; | 238 | ciphersuite = &ssl_tls13_ciphersuites[0]; |
| 239 | for (i = 0; ciphersuite->name != NULL; i++) { | 239 | for (i = 0; ciphersuite->name != NULL; i++) { |
| 240 | ciphersuite = &ssl_tls13_ciphersuites[i]; | ||
| 241 | if (strcmp(p, ciphersuite->name) == 0) | 240 | if (strcmp(p, ciphersuite->name) == 0) |
| 242 | break; | 241 | break; |
| 243 | if (strcmp(p, ciphersuite->alias) == 0) | 242 | if (strcmp(p, ciphersuite->alias) == 0) |
| 244 | break; | 243 | break; |
| 244 | ciphersuite = &ssl_tls13_ciphersuites[i]; | ||
| 245 | } | 245 | } |
| 246 | if (ciphersuite->name == NULL) | 246 | if (ciphersuite->name == NULL) |
| 247 | goto err; | 247 | goto err; |
