summaryrefslogtreecommitdiffstats
path: root/test/sha256t.c
diff options
context:
space:
mode:
authorDr. Stephen Henson <steve@openssl.org>2016-06-18 15:46:13 +0100
committerDr. Stephen Henson <steve@openssl.org>2016-07-15 14:09:05 +0100
commitd166ed8c11e10e9fdaeac182effb9dd318843924 (patch)
treefd47ffb1f5d42b121b04d14c1a8f6bdc659637f6 /test/sha256t.c
parent1fc431ba57d12189a9bdacd3999ea2a7b91458d8 (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.c70
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;
}