2
0
Эх сурвалжийг харах

Fix unsigned/signed warnings

Fix some unsigned/signed warnings introduced as part of the fix
for CVE-2015-0293

Reviewed-by: Tim Hudson <tjh@openssl.org>
Reviewed-by: Richard Levitte <levitte@openssl.org>
Matt Caswell 9 жил өмнө
parent
commit
b78c9e4a2b
1 өөрчлөгдсөн 5 нэмэгдсэн , 4 устгасан
  1. 5 4
      ssl/s2_srvr.c

+ 5 - 4
ssl/s2_srvr.c

@@ -369,7 +369,8 @@ int ssl2_accept(SSL *s)
 
 static int get_client_master_key(SSL *s)
 {
-    int is_export, i, n, keya, ek;
+    int is_export, i, n, keya;
+    unsigned int ek;
     unsigned long len;
     unsigned char *p;
     SSL_CIPHER *cp;
@@ -486,7 +487,7 @@ static int get_client_master_key(SSL *s)
      * must be zero).
      */
     if ((!is_export && s->s2->tmp.clear != 0) ||
-        (is_export && s->s2->tmp.clear + ek != EVP_CIPHER_key_length(c))) {
+        (is_export && s->s2->tmp.clear + ek != (unsigned int)EVP_CIPHER_key_length(c))) {
         ssl2_return_error(s, SSL2_PE_UNDEFINED_ERROR);
         SSLerr(SSL_F_GET_CLIENT_MASTER_KEY,SSL_R_BAD_LENGTH);
         return -1;
@@ -497,7 +498,7 @@ static int get_client_master_key(SSL *s)
      * bytes to fit the key in the buffer, stop now.
      */
     if ((is_export && s->s2->tmp.enc < ek) ||
-        (!is_export && s->s2->tmp.enc < EVP_CIPHER_key_length(c))) {
+        (!is_export && s->s2->tmp.enc < (unsigned int)EVP_CIPHER_key_length(c))) {
         ssl2_return_error(s,SSL2_PE_UNDEFINED_ERROR);
         SSLerr(SSL_F_GET_CLIENT_MASTER_KEY,SSL_R_LENGTH_TOO_SHORT);
         return -1;
@@ -516,7 +517,7 @@ static int get_client_master_key(SSL *s)
      * secret (Bleichenbacher attack)
      */
     if ((i < 0) || ((!is_export && i != EVP_CIPHER_key_length(c))
-                    || (is_export && i != ek))) {
+                    || (is_export && i != (int)ek))) {
         ERR_clear_error();
         if (is_export)
             i = ek;