Only resolve which cipher list to use once. Get some of the duplicate logic out of the way. Change-Id: Iee7c64577e14d1ddfead7e1e32c42c5c9f2a310d Reviewed-on: https://boringssl-review.googlesource.com/11981 Reviewed-by: Steven Valdez <svaldez@google.com> Reviewed-by: David Benjamin <davidben@google.com> Commit-Queue: David Benjamin <davidben@google.com> CQ-Verified: CQ bot account: commit-bot@chromium.org <commit-bot@chromium.org>
diff --git a/ssl/ssl_lib.c b/ssl/ssl_lib.c index 491c408..b8d4549 100644 --- a/ssl/ssl_lib.c +++ b/ssl/ssl_lib.c
@@ -1564,23 +1564,13 @@ return NULL; } - if (ssl->cipher_list != NULL) { - return ssl->cipher_list->ciphers; + const struct ssl_cipher_preference_list_st *prefs = + ssl_get_cipher_preferences(ssl); + if (prefs == NULL) { + return NULL; } - if (ssl->version >= TLS1_1_VERSION && ssl->ctx->cipher_list_tls11 != NULL) { - return ssl->ctx->cipher_list_tls11->ciphers; - } - - if (ssl->version >= TLS1_VERSION && ssl->ctx->cipher_list_tls10 != NULL) { - return ssl->ctx->cipher_list_tls10->ciphers; - } - - if (ssl->ctx->cipher_list != NULL) { - return ssl->ctx->cipher_list->ciphers; - } - - return NULL; + return prefs->ciphers; } /* return a STACK of the ciphers available for the SSL and in order of