diff options
| author | tb <> | 2021-12-12 20:22:08 +0000 |
|---|---|---|
| committer | tb <> | 2021-12-12 20:22:08 +0000 |
| commit | 1aa054369545e20cd070b9ccd337c1a9bfe81fcc (patch) | |
| tree | 5b50dddebd6f769fa2fc79816783804b852e21d2 /src | |
| parent | aabac52682077dee643923457977fbfe0bb165a2 (diff) | |
| download | openbsd-1aa054369545e20cd070b9ccd337c1a9bfe81fcc.tar.gz openbsd-1aa054369545e20cd070b9ccd337c1a9bfe81fcc.tar.bz2 openbsd-1aa054369545e20cd070b9ccd337c1a9bfe81fcc.zip | |
Make ts.c compile with opaque EVP_MD_CTX.
ok inoguchi
Diffstat (limited to 'src')
| -rw-r--r-- | src/usr.bin/openssl/ts.c | 15 |
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; |
