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/sha256t.c | |
parent | 1fc431ba57d12189a9bdacd3999ea2a7b91458d8 (diff) |
check return values for EVP_Digest*() APIs
Reviewed-by: Richard Levitte <levitte@openssl.org>
Diffstat (limited to 'test/sha256t.c')
-rw-r--r-- | test/sha256t.c | 70 |
1 files changed, 43 insertions, 27 deletions
diff --git a/test/sha256t.c b/test/sha256t.c index 315d10fae9..90262d9624 100644 --- a/test/sha256t.c +++ b/test/sha256t.c @@ -64,7 +64,8 @@ int main(int argc, char **argv) fprintf(stdout, "Testing SHA-256 "); - EVP_Digest("abc", 3, md, NULL, EVP_sha256(), NULL); + if (!EVP_Digest("abc", 3, md, NULL, EVP_sha256(), NULL)) + goto err; if (memcmp(md, app_b1, sizeof(app_b1))) { fflush(stdout); fprintf(stderr, "\nTEST 1 of 3 failed.\n"); @@ -73,9 +74,10 @@ int main(int argc, char **argv) fprintf(stdout, "."); fflush(stdout); - EVP_Digest("abcdbcde" "cdefdefg" "efghfghi" "ghijhijk" - "ijkljklm" "klmnlmno" "mnopnopq", 56, md, NULL, EVP_sha256(), - NULL); + if (!EVP_Digest("abcdbcde" "cdefdefg" "efghfghi" "ghijhijk" + "ijkljklm" "klmnlmno" "mnopnopq", 56, md, + NULL, EVP_sha256(), NULL)) + goto err; if (memcmp(md, app_b2, sizeof(app_b2))) { fflush(stdout); fprintf(stderr, "\nTEST 2 of 3 failed.\n"); @@ -90,19 +92,23 @@ int main(int argc, char **argv) fprintf(stderr, "\nTEST 3 of 3 failed. (malloc failure)\n"); return 1; } - EVP_DigestInit_ex(evp, EVP_sha256(), 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_sha256(), 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; if (memcmp(md, app_b3, sizeof(app_b3))) { fflush(stdout); @@ -117,7 +123,8 @@ int main(int argc, char **argv) fprintf(stdout, "Testing SHA-224 "); - EVP_Digest("abc", 3, md, NULL, EVP_sha224(), NULL); + if (!EVP_Digest("abc", 3, md, NULL, EVP_sha224(), NULL)) + goto err; if (memcmp(md, addenum_1, sizeof(addenum_1))) { fflush(stdout); fprintf(stderr, "\nTEST 1 of 3 failed.\n"); @@ -126,9 +133,10 @@ int main(int argc, char **argv) fprintf(stdout, "."); fflush(stdout); - EVP_Digest("abcdbcde" "cdefdefg" "efghfghi" "ghijhijk" - "ijkljklm" "klmnlmno" "mnopnopq", 56, md, NULL, EVP_sha224(), - NULL); + if (!EVP_Digest("abcdbcde" "cdefdefg" "efghfghi" "ghijhijk" + "ijkljklm" "klmnlmno" "mnopnopq", 56, md, + NULL, EVP_sha224(), NULL)) + goto err; if (memcmp(md, addenum_2, sizeof(addenum_2))) { fflush(stdout); fprintf(stderr, "\nTEST 2 of 3 failed.\n"); @@ -138,12 +146,16 @@ int main(int argc, char **argv) fflush(stdout); EVP_MD_CTX_reset(evp); - EVP_DigestInit_ex(evp, EVP_sha224(), 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_sha224(), 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, addenum_3, sizeof(addenum_3))) { @@ -158,4 +170,8 @@ int main(int argc, char **argv) fflush(stdout); return 0; + + err: + fprintf(stderr, "Fatal EVP error!\n"); + return 1; } |