diff options
| author | tb <> | 2021-12-04 07:58:10 +0000 |
|---|---|---|
| committer | tb <> | 2021-12-04 07:58:10 +0000 |
| commit | a42aee84eb62bb18fdfa6b2d5e6e33f36f996e6f (patch) | |
| tree | a9c922d99f8ef1759083205d991cdfa929bc425a /src/regress/lib/libc | |
| parent | cbe52ba941629df137bf278c0832275b6adce9f2 (diff) | |
| download | openbsd-a42aee84eb62bb18fdfa6b2d5e6e33f36f996e6f.tar.gz openbsd-a42aee84eb62bb18fdfa6b2d5e6e33f36f996e6f.tar.bz2 openbsd-a42aee84eb62bb18fdfa6b2d5e6e33f36f996e6f.zip | |
Explicitly free EVP_MD_CTX to appease asan. Reported by Ilya Shipitsin.
Diffstat (limited to '')
| -rw-r--r-- | src/regress/lib/libcrypto/sha256/sha256test.c | 26 |
1 files changed, 16 insertions, 10 deletions
diff --git a/src/regress/lib/libcrypto/sha256/sha256test.c b/src/regress/lib/libcrypto/sha256/sha256test.c index b20724054a..4732611d55 100644 --- a/src/regress/lib/libcrypto/sha256/sha256test.c +++ b/src/regress/lib/libcrypto/sha256/sha256test.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: sha256test.c,v 1.5 2021/11/18 21:25:01 tb Exp $ */ | 1 | /* $OpenBSD: sha256test.c,v 1.6 2021/12/04 07:58:10 tb Exp $ */ |
| 2 | /* ==================================================================== | 2 | /* ==================================================================== |
| 3 | * Copyright (c) 2004 The OpenSSL Project. All rights reserved. | 3 | * Copyright (c) 2004 The OpenSSL Project. All rights reserved. |
| 4 | * ==================================================================== | 4 | * ==================================================================== |
| @@ -65,7 +65,8 @@ int | |||
| 65 | main(int argc, char **argv) { | 65 | main(int argc, char **argv) { |
| 66 | unsigned char md[SHA256_DIGEST_LENGTH]; | 66 | unsigned char md[SHA256_DIGEST_LENGTH]; |
| 67 | int i; | 67 | int i; |
| 68 | EVP_MD_CTX *evp; | 68 | int ret = 1; |
| 69 | EVP_MD_CTX *evp = NULL; | ||
| 69 | 70 | ||
| 70 | fprintf(stdout, "Testing SHA-256 "); | 71 | fprintf(stdout, "Testing SHA-256 "); |
| 71 | 72 | ||
| @@ -73,7 +74,7 @@ main(int argc, char **argv) { | |||
| 73 | if (memcmp(md, app_b1, sizeof(app_b1))) { | 74 | if (memcmp(md, app_b1, sizeof(app_b1))) { |
| 74 | fflush(stdout); | 75 | fflush(stdout); |
| 75 | fprintf(stderr, "\nTEST 1 of 3 failed.\n"); | 76 | fprintf(stderr, "\nTEST 1 of 3 failed.\n"); |
| 76 | return 1; | 77 | goto err; |
| 77 | } | 78 | } |
| 78 | fprintf(stdout, "."); | 79 | fprintf(stdout, "."); |
| 79 | fflush(stdout); | 80 | fflush(stdout); |
| @@ -85,7 +86,7 @@ main(int argc, char **argv) { | |||
| 85 | if (memcmp(md, app_b2, sizeof(app_b2))) { | 86 | if (memcmp(md, app_b2, sizeof(app_b2))) { |
| 86 | fflush(stdout); | 87 | fflush(stdout); |
| 87 | fprintf(stderr, "\nTEST 2 of 3 failed.\n"); | 88 | fprintf(stderr, "\nTEST 2 of 3 failed.\n"); |
| 88 | return 1; | 89 | goto err; |
| 89 | } | 90 | } |
| 90 | fprintf(stdout, "."); | 91 | fprintf(stdout, "."); |
| 91 | fflush(stdout); | 92 | fflush(stdout); |
| @@ -93,7 +94,7 @@ main(int argc, char **argv) { | |||
| 93 | if ((evp = EVP_MD_CTX_new()) == NULL) { | 94 | if ((evp = EVP_MD_CTX_new()) == NULL) { |
| 94 | fflush(stdout); | 95 | fflush(stdout); |
| 95 | fprintf(stderr, "\nEVP_MD_CTX_new() failed.\n"); | 96 | fprintf(stderr, "\nEVP_MD_CTX_new() failed.\n"); |
| 96 | return 1; | 97 | goto err; |
| 97 | } | 98 | } |
| 98 | EVP_DigestInit_ex(evp, EVP_sha256(), NULL); | 99 | EVP_DigestInit_ex(evp, EVP_sha256(), NULL); |
| 99 | for (i = 0; i < 1000000; i += 160) | 100 | for (i = 0; i < 1000000; i += 160) |
| @@ -110,7 +111,7 @@ main(int argc, char **argv) { | |||
| 110 | if (memcmp(md, app_b3, sizeof(app_b3))) { | 111 | if (memcmp(md, app_b3, sizeof(app_b3))) { |
| 111 | fflush(stdout); | 112 | fflush(stdout); |
| 112 | fprintf(stderr, "\nTEST 3 of 3 failed.\n"); | 113 | fprintf(stderr, "\nTEST 3 of 3 failed.\n"); |
| 113 | return 1; | 114 | goto err; |
| 114 | } | 115 | } |
| 115 | fprintf(stdout, "."); | 116 | fprintf(stdout, "."); |
| 116 | fflush(stdout); | 117 | fflush(stdout); |
| @@ -123,7 +124,7 @@ main(int argc, char **argv) { | |||
| 123 | if (memcmp(md, addenum_1, sizeof(addenum_1))) { | 124 | if (memcmp(md, addenum_1, sizeof(addenum_1))) { |
| 124 | fflush(stdout); | 125 | fflush(stdout); |
| 125 | fprintf(stderr, "\nTEST 1 of 3 failed.\n"); | 126 | fprintf(stderr, "\nTEST 1 of 3 failed.\n"); |
| 126 | return 1; | 127 | goto err; |
| 127 | } | 128 | } |
| 128 | fprintf(stdout, "."); | 129 | fprintf(stdout, "."); |
| 129 | fflush(stdout); | 130 | fflush(stdout); |
| @@ -135,7 +136,7 @@ main(int argc, char **argv) { | |||
| 135 | if (memcmp(md, addenum_2, sizeof(addenum_2))) { | 136 | if (memcmp(md, addenum_2, sizeof(addenum_2))) { |
| 136 | fflush(stdout); | 137 | fflush(stdout); |
| 137 | fprintf(stderr, "\nTEST 2 of 3 failed.\n"); | 138 | fprintf(stderr, "\nTEST 2 of 3 failed.\n"); |
| 138 | return 1; | 139 | goto err; |
| 139 | } | 140 | } |
| 140 | fprintf(stdout, "."); | 141 | fprintf(stdout, "."); |
| 141 | fflush(stdout); | 142 | fflush(stdout); |
| @@ -152,7 +153,7 @@ main(int argc, char **argv) { | |||
| 152 | if (memcmp(md, addenum_3, sizeof(addenum_3))) { | 153 | if (memcmp(md, addenum_3, sizeof(addenum_3))) { |
| 153 | fflush(stdout); | 154 | fflush(stdout); |
| 154 | fprintf(stderr, "\nTEST 3 of 3 failed.\n"); | 155 | fprintf(stderr, "\nTEST 3 of 3 failed.\n"); |
| 155 | return 1; | 156 | goto err; |
| 156 | } | 157 | } |
| 157 | fprintf(stdout, "."); | 158 | fprintf(stdout, "."); |
| 158 | fflush(stdout); | 159 | fflush(stdout); |
| @@ -160,6 +161,11 @@ main(int argc, char **argv) { | |||
| 160 | fprintf(stdout, " passed.\n"); | 161 | fprintf(stdout, " passed.\n"); |
| 161 | fflush(stdout); | 162 | fflush(stdout); |
| 162 | 163 | ||
| 163 | return 0; | 164 | ret = 0; |
| 165 | |||
| 166 | err: | ||
| 167 | EVP_MD_CTX_free(evp); | ||
| 168 | |||
| 169 | return ret; | ||
| 164 | } | 170 | } |
| 165 | #endif | 171 | #endif |
