summaryrefslogtreecommitdiffstats
path: root/ssl
diff options
context:
space:
mode:
authorRichard Levitte <levitte@openssl.org>2017-07-08 22:13:24 +0200
committerRichard Levitte <levitte@openssl.org>2017-07-09 08:51:47 +0200
commitfbd3e06b64a1d4733eb95fc3ed0e35bb4c3a726e (patch)
tree93f55f529c9bb711a6d580ba1fb9c2dee3c4421c /ssl
parent64903a26c5855347738825d7724e76e8a89180f3 (diff)
Fix cipher_compare
Unsigned overflow. Found by Brian Carpenter Fixes #3889 Reviewed-by: Tim Hudson <tjh@openssl.org> (Merged from https://github.com/openssl/openssl/pull/3890) (cherry picked from commit a7ff57965b81ce4fd73a18266ce29abf6b909fdb)
Diffstat (limited to 'ssl')
-rw-r--r--ssl/s3_lib.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/ssl/s3_lib.c b/ssl/s3_lib.c
index d45a2469b5..9ea02dc074 100644
--- a/ssl/s3_lib.c
+++ b/ssl/s3_lib.c
@@ -2725,7 +2725,9 @@ static int cipher_compare(const void *a, const void *b)
const SSL_CIPHER *ap = (const SSL_CIPHER *)a;
const SSL_CIPHER *bp = (const SSL_CIPHER *)b;
- return ap->id - bp->id;
+ if (ap->id == bp->id)
+ return 0;
+ return ap->id < bp->id ? -1 : 1;
}
void ssl_sort_cipher_list(void)