]> git.ipfire.org Git - thirdparty/openssl.git/blobdiff - providers/implementations/signature/rsa_sig.c
Fix size_t/int mismatch in cms_ec.c and rsa_sig.c
[thirdparty/openssl.git] / providers / implementations / signature / rsa_sig.c
index e0faf1c1ad3c511c787d8f4854cb5fd4a92e6671..4ebb6517d6471c3bd253742100c7589b6c64e1ed 100644 (file)
@@ -834,14 +834,17 @@ static int rsa_verify(void *vprsactx, const unsigned char *sig, size_t siglen,
             return 0;
         }
     } else {
+        int ret;
+
         if (!setup_tbuf(prsactx))
             return 0;
-        rslen = RSA_public_decrypt(siglen, sig, prsactx->tbuf, prsactx->rsa,
-                                   prsactx->pad_mode);
-        if (rslen <= 0) {
+        ret = RSA_public_decrypt(siglen, sig, prsactx->tbuf, prsactx->rsa,
+                                 prsactx->pad_mode);
+        if (ret <= 0) {
             ERR_raise(ERR_LIB_PROV, ERR_R_RSA_LIB);
             return 0;
         }
+        rslen = (size_t)ret;
     }
 
     if ((rslen != tbslen) || memcmp(tbs, prsactx->tbuf, rslen))