73 lines
2.6 KiB
Diff
73 lines
2.6 KiB
Diff
From cf94e8430f3cd7c17f62b74443d16347b4b97ac8 Mon Sep 17 00:00:00 2001
|
|
From: Tomas Mraz <tmraz@fedoraproject.org>
|
|
Date: Tue, 19 May 2020 10:52:53 +0200
|
|
Subject: [PATCH 061/217] t1_trce: Fix remaining places where the 24 bit shift
|
|
overflow happens
|
|
|
|
[extended tests]
|
|
|
|
Reviewed-by: Richard Levitte <levitte@openssl.org>
|
|
(Merged from https://github.com/openssl/openssl/pull/11857)
|
|
|
|
(cherry picked from commit 7486c718e54cc762edc5f1c7c526ab83d0f97ef7)
|
|
---
|
|
ssl/t1_trce.c | 21 ++++++++++++++++-----
|
|
1 file changed, 16 insertions(+), 5 deletions(-)
|
|
|
|
diff --git a/ssl/t1_trce.c b/ssl/t1_trce.c
|
|
index 5c84339..edd839a 100644
|
|
--- a/ssl/t1_trce.c
|
|
+++ b/ssl/t1_trce.c
|
|
@@ -656,7 +656,10 @@ static int ssl_print_random(BIO *bio, int indent,
|
|
|
|
if (*pmsglen < 32)
|
|
return 0;
|
|
- tm = (p[0] << 24) | (p[1] << 16) | (p[2] << 8) | p[3];
|
|
+ tm = ((unsigned int)p[0] << 24)
|
|
+ | ((unsigned int)p[1] << 16)
|
|
+ | ((unsigned int)p[2] << 8)
|
|
+ | (unsigned int)p[3];
|
|
p += 4;
|
|
BIO_indent(bio, indent, 80);
|
|
BIO_puts(bio, "Random:\n");
|
|
@@ -864,8 +867,10 @@ static int ssl_print_extension(BIO *bio, int indent, int server,
|
|
break;
|
|
if (extlen != 4)
|
|
return 0;
|
|
- max_early_data = (ext[0] << 24) | (ext[1] << 16) | (ext[2] << 8)
|
|
- | ext[3];
|
|
+ max_early_data = ((unsigned int)ext[0] << 24)
|
|
+ | ((unsigned int)ext[1] << 16)
|
|
+ | ((unsigned int)ext[2] << 8)
|
|
+ | (unsigned int)ext[3];
|
|
BIO_indent(bio, indent + 2, 80);
|
|
BIO_printf(bio, "max_early_data=%u\n", max_early_data);
|
|
break;
|
|
@@ -1356,7 +1361,10 @@ static int ssl_print_ticket(BIO *bio, int indent, const SSL *ssl,
|
|
}
|
|
if (msglen < 4)
|
|
return 0;
|
|
- tick_life = (msg[0] << 24) | (msg[1] << 16) | (msg[2] << 8) | msg[3];
|
|
+ tick_life = ((unsigned int)msg[0] << 24)
|
|
+ | ((unsigned int)msg[1] << 16)
|
|
+ | ((unsigned int)msg[2] << 8)
|
|
+ | (unsigned int)msg[3];
|
|
msglen -= 4;
|
|
msg += 4;
|
|
BIO_indent(bio, indent + 2, 80);
|
|
@@ -1367,7 +1375,10 @@ static int ssl_print_ticket(BIO *bio, int indent, const SSL *ssl,
|
|
if (msglen < 4)
|
|
return 0;
|
|
ticket_age_add =
|
|
- (msg[0] << 24) | (msg[1] << 16) | (msg[2] << 8) | msg[3];
|
|
+ ((unsigned int)msg[0] << 24)
|
|
+ | ((unsigned int)msg[1] << 16)
|
|
+ | ((unsigned int)msg[2] << 8)
|
|
+ | (unsigned int)msg[3];
|
|
msglen -= 4;
|
|
msg += 4;
|
|
BIO_indent(bio, indent + 2, 80);
|
|
--
|
|
1.8.3.1
|
|
|