This commit was manufactured by cvs2svn to create branch
[openssl.git] / crypto / ts / ts_rsp_verify.c
index 6acacac6c14f0d2b42657bc2560a902d52a6714a..afe16afbe454f7d1e38c7c651b81a30b60649479 100644 (file)
@@ -604,19 +604,25 @@ static int TS_compute_imprint(BIO *data, TS_TST_INFO *tst_info,
                }
 
        /* Compute message digest. */
-       *imprint_len = EVP_MD_size(md);
+       length = EVP_MD_size(md);
+       if (length < 0)
+           goto err;
+       *imprint_len = length;
        if (!(*imprint = OPENSSL_malloc(*imprint_len))) 
                {
                TSerr(TS_F_TS_COMPUTE_IMPRINT, ERR_R_MALLOC_FAILURE);
                goto err;
                }
 
-       EVP_DigestInit(&md_ctx, md);
+       if (!EVP_DigestInit(&md_ctx, md))
+               goto err;
        while ((length = BIO_read(data, buffer, sizeof(buffer))) > 0)
                {
-               EVP_DigestUpdate(&md_ctx, buffer, length);
+               if (!EVP_DigestUpdate(&md_ctx, buffer, length))
+                       goto err;
                }
-       EVP_DigestFinal(&md_ctx, *imprint, NULL);
+       if (!EVP_DigestFinal(&md_ctx, *imprint, NULL))
+               goto err;
 
        return 1;
  err: