diff options
author | Dr. Stephen Henson <steve@openssl.org> | 2016-06-18 15:46:13 +0100 |
---|---|---|
committer | Dr. Stephen Henson <steve@openssl.org> | 2016-07-15 14:09:05 +0100 |
commit | d166ed8c11e10e9fdaeac182effb9dd318843924 (patch) | |
tree | fd47ffb1f5d42b121b04d14c1a8f6bdc659637f6 /test/sha512t.c | |
parent | 1fc431ba57d12189a9bdacd3999ea2a7b91458d8 (diff) |
check return values for EVP_Digest*() APIs
Reviewed-by: Richard Levitte <levitte@openssl.org>
Diffstat (limited to 'test/sha512t.c')
-rw-r--r-- | test/sha512t.c | 75 |
1 files changed, 46 insertions, 29 deletions
diff --git a/test/sha512t.c b/test/sha512t.c index b11fcaa051..18cdf39736 100644 --- a/test/sha512t.c +++ b/test/sha512t.c @@ -83,7 +83,8 @@ int main(int argc, char **argv) fprintf(stdout, "Testing SHA-512 "); - EVP_Digest("abc", 3, md, NULL, EVP_sha512(), NULL); + if (!EVP_Digest("abc", 3, md, NULL, EVP_sha512(), NULL)) + goto err; if (memcmp(md, app_c1, sizeof(app_c1))) { fflush(stdout); fprintf(stderr, "\nTEST 1 of 3 failed.\n"); @@ -92,10 +93,11 @@ int main(int argc, char **argv) fprintf(stdout, "."); fflush(stdout); - EVP_Digest("abcdefgh" "bcdefghi" "cdefghij" "defghijk" - "efghijkl" "fghijklm" "ghijklmn" "hijklmno" - "ijklmnop" "jklmnopq" "klmnopqr" "lmnopqrs" - "mnopqrst" "nopqrstu", 112, md, NULL, EVP_sha512(), NULL); + if (!EVP_Digest("abcdefgh" "bcdefghi" "cdefghij" "defghijk" + "efghijkl" "fghijklm" "ghijklmn" "hijklmno" + "ijklmnop" "jklmnopq" "klmnopqr" "lmnopqrs" + "mnopqrst" "nopqrstu", 112, md, NULL, EVP_sha512(), NULL)) + goto err; if (memcmp(md, app_c2, sizeof(app_c2))) { fflush(stdout); fprintf(stderr, "\nTEST 2 of 3 failed.\n"); @@ -110,19 +112,23 @@ int main(int argc, char **argv) fprintf(stderr, "\nTEST 3 of 3 failed. (malloc failure)\n"); return 1; } - EVP_DigestInit_ex(evp, EVP_sha512(), NULL); - for (i = 0; i < 1000000; i += 288) - EVP_DigestUpdate(evp, "aaaaaaaa" "aaaaaaaa" "aaaaaaaa" "aaaaaaaa" - "aaaaaaaa" "aaaaaaaa" "aaaaaaaa" "aaaaaaaa" - "aaaaaaaa" "aaaaaaaa" "aaaaaaaa" "aaaaaaaa" - "aaaaaaaa" "aaaaaaaa" "aaaaaaaa" "aaaaaaaa" - "aaaaaaaa" "aaaaaaaa" "aaaaaaaa" "aaaaaaaa" - "aaaaaaaa" "aaaaaaaa" "aaaaaaaa" "aaaaaaaa" - "aaaaaaaa" "aaaaaaaa" "aaaaaaaa" "aaaaaaaa" - "aaaaaaaa" "aaaaaaaa" "aaaaaaaa" "aaaaaaaa" - "aaaaaaaa" "aaaaaaaa" "aaaaaaaa" "aaaaaaaa", - (1000000 - i) < 288 ? 1000000 - i : 288); - EVP_DigestFinal_ex(evp, md, NULL); + if (!EVP_DigestInit_ex(evp, EVP_sha512(), NULL)) + goto err; + for (i = 0; i < 1000000; i += 288) { + if (!EVP_DigestUpdate(evp, "aaaaaaaa" "aaaaaaaa" "aaaaaaaa" "aaaaaaaa" + "aaaaaaaa" "aaaaaaaa" "aaaaaaaa" "aaaaaaaa" + "aaaaaaaa" "aaaaaaaa" "aaaaaaaa" "aaaaaaaa" + "aaaaaaaa" "aaaaaaaa" "aaaaaaaa" "aaaaaaaa" + "aaaaaaaa" "aaaaaaaa" "aaaaaaaa" "aaaaaaaa" + "aaaaaaaa" "aaaaaaaa" "aaaaaaaa" "aaaaaaaa" + "aaaaaaaa" "aaaaaaaa" "aaaaaaaa" "aaaaaaaa" + "aaaaaaaa" "aaaaaaaa" "aaaaaaaa" "aaaaaaaa" + "aaaaaaaa" "aaaaaaaa" "aaaaaaaa" "aaaaaaaa", + (1000000 - i) < 288 ? 1000000 - i : 288)) + goto err; + } + if (!EVP_DigestFinal_ex(evp, md, NULL)) + goto err; EVP_MD_CTX_reset(evp); if (memcmp(md, app_c3, sizeof(app_c3))) { @@ -138,7 +144,8 @@ int main(int argc, char **argv) fprintf(stdout, "Testing SHA-384 "); - EVP_Digest("abc", 3, md, NULL, EVP_sha384(), NULL); + if (!EVP_Digest("abc", 3, md, NULL, EVP_sha384(), NULL)) + goto err; if (memcmp(md, app_d1, sizeof(app_d1))) { fflush(stdout); fprintf(stderr, "\nTEST 1 of 3 failed.\n"); @@ -147,10 +154,11 @@ int main(int argc, char **argv) fprintf(stdout, "."); fflush(stdout); - EVP_Digest("abcdefgh" "bcdefghi" "cdefghij" "defghijk" - "efghijkl" "fghijklm" "ghijklmn" "hijklmno" - "ijklmnop" "jklmnopq" "klmnopqr" "lmnopqrs" - "mnopqrst" "nopqrstu", 112, md, NULL, EVP_sha384(), NULL); + if (!EVP_Digest("abcdefgh" "bcdefghi" "cdefghij" "defghijk" + "efghijkl" "fghijklm" "ghijklmn" "hijklmno" + "ijklmnop" "jklmnopq" "klmnopqr" "lmnopqrs" + "mnopqrst" "nopqrstu", 112, md, NULL, EVP_sha384(), NULL)) + goto err; if (memcmp(md, app_d2, sizeof(app_d2))) { fflush(stdout); fprintf(stderr, "\nTEST 2 of 3 failed.\n"); @@ -159,12 +167,16 @@ int main(int argc, char **argv) fprintf(stdout, "."); fflush(stdout); - EVP_DigestInit_ex(evp, EVP_sha384(), NULL); - for (i = 0; i < 1000000; i += 64) - EVP_DigestUpdate(evp, "aaaaaaaa" "aaaaaaaa" "aaaaaaaa" "aaaaaaaa" - "aaaaaaaa" "aaaaaaaa" "aaaaaaaa" "aaaaaaaa", - (1000000 - i) < 64 ? 1000000 - i : 64); - EVP_DigestFinal_ex(evp, md, NULL); + if (!EVP_DigestInit_ex(evp, EVP_sha384(), NULL)) + goto err; + for (i = 0; i < 1000000; i += 64) { + if (!EVP_DigestUpdate(evp, "aaaaaaaa" "aaaaaaaa" "aaaaaaaa" "aaaaaaaa" + "aaaaaaaa" "aaaaaaaa" "aaaaaaaa" "aaaaaaaa", + (1000000 - i) < 64 ? 1000000 - i : 64)) + goto err; + } + if (!EVP_DigestFinal_ex(evp, md, NULL)) + goto err; EVP_MD_CTX_free(evp); if (memcmp(md, app_d3, sizeof(app_d3))) { @@ -179,4 +191,9 @@ int main(int argc, char **argv) fflush(stdout); return 0; + + err: + fflush(stdout); + fprintf(stderr, "\nFatal EVP error!\n"); + return 1; } |