Hi, In the ssl_cipher_get_evp() function, there are two off-by-one errors in index validation before accessing arrays. The attached patch fixes the problem.
Regards, Kurt Cancemi
>From 72e339f36be4a40436b95a0d07d68167605c31e2 Mon Sep 17 00:00:00 2001 From: Kurt Cancemi <k...@x64architecture.com> Date: Wed, 4 Jun 2014 03:59:58 -0400 Subject: [PATCH 1/1] Fix off-by-one errors in ssl_cipher_get_evp() In the ssl_cipher_get_evp() function, fix off-by-one errors in index validation before accessing arrays. --- ssl/ssl_ciph.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ssl/ssl_ciph.c b/ssl/ssl_ciph.c index 91f1990..7d73dfb 100644 --- a/ssl/ssl_ciph.c +++ b/ssl/ssl_ciph.c @@ -581,7 +581,7 @@ int ssl_cipher_get_evp(const SSL_SESSION *s, const EVP_CIPHER **enc, break; } - if ((i < 0) || (i > SSL_ENC_NUM_IDX)) + if ((i < 0) || (i >= SSL_ENC_NUM_IDX)) *enc=NULL; else { @@ -615,7 +615,7 @@ int ssl_cipher_get_evp(const SSL_SESSION *s, const EVP_CIPHER **enc, i= -1; break; } - if ((i < 0) || (i > SSL_MD_NUM_IDX)) + if ((i < 0) || (i >= SSL_MD_NUM_IDX)) { *md=NULL; if (mac_pkey_type!=NULL) *mac_pkey_type = NID_undef; -- 1.9.1