Fixed error introduced in commit f2be92b94dad3c6cbdf79d99a324804094cf1617
authorTim Hudson <tjh@openssl.org>
Sun, 21 Sep 2014 11:54:31 +0000 (21:54 +1000)
committerTim Hudson <tjh@openssl.org>
Sun, 21 Sep 2014 20:31:05 +0000 (06:31 +1000)
that fixed PR#3450 where an existing cast masked an issue when i was changed
from int to long in that commit

Picked up on z/linux (s390) where sizeof(int)!=sizeof(long)

Reviewed-by: Rich Salz <rsalz@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
(cherry picked from commit b5ff559ff90124c6fd53bbb49dae5edb4e821e0a)

ssl/s3_clnt.c

index 99de1bf6086b4a3cb427d8d600c1ea62ae307a06..48289375669391c7777095d400199f061b8a0e97 100644 (file)
@@ -1487,6 +1487,7 @@ int ssl3_get_key_exchange(SSL *s)
                if (pkey->type == EVP_PKEY_RSA)
                        {
                        int num;
+                       unsigned int size;
 
                        j=0;
                        q=md_buf;
@@ -1499,9 +1500,9 @@ int ssl3_get_key_exchange(SSL *s)
                                EVP_DigestUpdate(&md_ctx,&(s->s3->client_random[0]),SSL3_RANDOM_SIZE);
                                EVP_DigestUpdate(&md_ctx,&(s->s3->server_random[0]),SSL3_RANDOM_SIZE);
                                EVP_DigestUpdate(&md_ctx,param,param_len);
-                               EVP_DigestFinal_ex(&md_ctx,q,(unsigned int *)&i);
-                               q+=i;
-                               j+=i;
+                               EVP_DigestFinal_ex(&md_ctx,q,&size);
+                               q+=size;
+                               j+=size;
                                }
                        i=RSA_verify(NID_md5_sha1, md_buf, j, p, n,
                                                                pkey->pkey.rsa);