X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=test%2Fsha512t.c;h=18cdf397361041896215a29df73dbdd2b06327f9;hb=6dc9974547427261db25758612b6a570083d52e6;hp=714fed62cb3f52ffd4da0a00374abc08b345d8b6;hpb=349807608f31b20af01a342d0072bb92e0b036e2;p=oweals%2Fopenssl.git diff --git a/test/sha512t.c b/test/sha512t.c index 714fed62cb..18cdf39736 100644 --- a/test/sha512t.c +++ b/test/sha512t.c @@ -1,7 +1,12 @@ -/* ==================================================================== - * Copyright (c) 2004 The OpenSSL Project. All rights reserved. - * ==================================================================== +/* + * Copyright 2004-2016 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html */ + #include #include #include @@ -76,22 +81,10 @@ int main(int argc, char **argv) int i; EVP_MD_CTX *evp; -# ifdef OPENSSL_IA32_SSE2 - /* - * Alternative to this is to call OpenSSL_add_all_algorithms... The below - * code is retained exclusively for debugging purposes. - */ - { - char *env; - - if ((env = getenv("OPENSSL_ia32cap"))) - OPENSSL_ia32cap = strtoul(env, NULL, 0); - } -# endif - 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"); @@ -100,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"); @@ -118,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))) { @@ -146,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"); @@ -155,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"); @@ -167,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))) { @@ -187,4 +191,9 @@ int main(int argc, char **argv) fflush(stdout); return 0; + + err: + fflush(stdout); + fprintf(stderr, "\nFatal EVP error!\n"); + return 1; }