summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authortb <>2021-12-12 20:22:08 +0000
committertb <>2021-12-12 20:22:08 +0000
commit687e11a4199774c4e744013ed0169c5276c2de33 (patch)
tree5b50dddebd6f769fa2fc79816783804b852e21d2 /src
parent86d61498c5edcdcb8a62351030ca5fb8c31be39c (diff)
downloadopenbsd-687e11a4199774c4e744013ed0169c5276c2de33.tar.gz
openbsd-687e11a4199774c4e744013ed0169c5276c2de33.tar.bz2
openbsd-687e11a4199774c4e744013ed0169c5276c2de33.zip
Make ts.c compile with opaque EVP_MD_CTX.
ok inoguchi
Diffstat (limited to 'src')
-rw-r--r--src/usr.bin/openssl/ts.c15
1 files changed, 10 insertions, 5 deletions
diff --git a/src/usr.bin/openssl/ts.c b/src/usr.bin/openssl/ts.c
index cac10d0d3f..9ac3aca6e5 100644
--- a/src/usr.bin/openssl/ts.c
+++ b/src/usr.bin/openssl/ts.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: ts.c,v 1.15 2018/02/07 05:47:55 jsing Exp $ */ 1/* $OpenBSD: ts.c,v 1.16 2021/12/12 20:22:08 tb Exp $ */
2/* Written by Zoltan Glozik (zglozik@stones.com) for the OpenSSL 2/* Written by Zoltan Glozik (zglozik@stones.com) for the OpenSSL
3 * project 2002. 3 * project 2002.
4 */ 4 */
@@ -547,7 +547,7 @@ create_digest(BIO * input, char *digest, const EVP_MD * md,
547 goto err; 547 goto err;
548 if (input) { 548 if (input) {
549 /* Digest must be computed from an input file. */ 549 /* Digest must be computed from an input file. */
550 EVP_MD_CTX md_ctx; 550 EVP_MD_CTX *md_ctx;
551 unsigned char buffer[4096]; 551 unsigned char buffer[4096];
552 int length; 552 int length;
553 553
@@ -555,11 +555,16 @@ create_digest(BIO * input, char *digest, const EVP_MD * md,
555 if (*md_value == 0) 555 if (*md_value == 0)
556 goto err; 556 goto err;
557 557
558 EVP_DigestInit(&md_ctx, md); 558 if ((md_ctx = EVP_MD_CTX_new()) == NULL)
559 goto err;
560
561 EVP_DigestInit(md_ctx, md);
559 while ((length = BIO_read(input, buffer, sizeof(buffer))) > 0) { 562 while ((length = BIO_read(input, buffer, sizeof(buffer))) > 0) {
560 EVP_DigestUpdate(&md_ctx, buffer, length); 563 EVP_DigestUpdate(md_ctx, buffer, length);
561 } 564 }
562 EVP_DigestFinal(&md_ctx, *md_value, NULL); 565 EVP_DigestFinal(md_ctx, *md_value, NULL);
566
567 EVP_MD_CTX_free(md_ctx);
563 } else { 568 } else {
564 /* Digest bytes are specified with digest. */ 569 /* Digest bytes are specified with digest. */
565 long digest_len; 570 long digest_len;