Replace unsigned with int
authorJiasheng Jiang <jiasheng@purdue.edu>
Thu, 21 Mar 2024 19:55:34 +0000 (19:55 +0000)
committerTomas Mraz <tomas@openssl.org>
Mon, 25 Mar 2024 16:46:42 +0000 (17:46 +0100)
Replace the type of "digest_length" with int to avoid implicit conversion when it is assigned by EVP_MD_get_size().
Otherwise, it may pass the following check and cause the integer overflow error when EVP_MD_get_size() returns negative numbers.
Signed-off-by: Jiasheng Jiang <jiasheng@purdue.edu>
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Tom Cosgrove <tom.cosgrove@arm.com>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/23922)

(cherry picked from commit f13ddaab69def0b453b75a8f2deb80e1f1634f42)

demos/digest/EVP_MD_demo.c
demos/digest/EVP_MD_stdin.c

index c7484e5665b25231417f36d474675689960e35e2..73838c01abc16f0d0361ecf39597f2de8a2eb780 100644 (file)
@@ -83,7 +83,7 @@ int demonstrate_digest(void)
     const char *option_properties = NULL;
     EVP_MD *message_digest = NULL;
     EVP_MD_CTX *digest_context = NULL;
-    unsigned int digest_length;
+    int digest_length;
     unsigned char *digest_value = NULL;
     int j;
 
index 099a7d2f69a278de62de7e45ae9d23233c1a8b72..0e3a49edcbc2248cd812f3f92db31f6cc17023a2 100644 (file)
@@ -38,7 +38,7 @@ int demonstrate_digest(BIO *input)
     const char * option_properties = NULL;
     EVP_MD *message_digest = NULL;
     EVP_MD_CTX *digest_context = NULL;
-    unsigned int digest_length;
+    int digest_length;
     unsigned char *digest_value = NULL;
     unsigned char buffer[512];
     int ii;