diff options
author | Richard Levitte <levitte@openssl.org> | 2017-07-08 22:13:24 +0200 |
---|---|---|
committer | Richard Levitte <levitte@openssl.org> | 2017-07-09 08:51:47 +0200 |
commit | fbd3e06b64a1d4733eb95fc3ed0e35bb4c3a726e (patch) | |
tree | 93f55f529c9bb711a6d580ba1fb9c2dee3c4421c /ssl | |
parent | 64903a26c5855347738825d7724e76e8a89180f3 (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.c | 4 |
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) |