]> wagner.pp.ru Git - openssl-gost/engine.git/blobdiff - benchmark/sign.c
gost_omac: Rework registration of magma/kuznyechik OMAC digests
[openssl-gost/engine.git] / benchmark / sign.c
index 417d8dd76b261f7274cc388a488c6e3651fe32ae..5c53df79abb24e1ad9fa565d841269896385065f 100644 (file)
@@ -23,9 +23,14 @@ const char *tests[] = {
     "md_gost12_256", "gost2012_256", "A",
     "md_gost12_256", "gost2012_256", "B",
     "md_gost12_256", "gost2012_256", "C",
+    "md_gost12_256", "gost2012_256", "TCA",
+    "md_gost12_256", "gost2012_256", "TCB",
+    "md_gost12_256", "gost2012_256", "TCC",
+    "md_gost12_256", "gost2012_256", "TCD",
 
     "md_gost12_512", "gost2012_512", "A",
     "md_gost12_512", "gost2012_512", "B",
+    "md_gost12_512", "gost2012_512", "C",
 
     NULL,
 };
@@ -131,6 +136,10 @@ int main(int argc, char **argv)
            fflush(stdout);
            siglen = EVP_PKEY_size(pkey);
            sigbuf = malloc(siglen * cycles);
+       if (!sigbuf) {
+           fprintf(stderr, "No tests were run, malloc failure.\n");
+           exit(1);
+       }
 
            for (pass = 0; pass < 2; pass++) {
                struct timespec ts;
@@ -144,8 +153,8 @@ int main(int argc, char **argv)
                if (pass == 0) { /* sign */
                    for (i = 0; i < cycles; i++) {
                        EVP_SignInit(md_ctx, mdtype);
-                       EVP_SignUpdate(md_ctx, data, data_len);
-                       err = EVP_SignFinal(md_ctx, &sigbuf[siglen * i],
+                       err = EVP_SignUpdate(md_ctx, data, data_len)
+                          && EVP_SignFinal(md_ctx, &sigbuf[siglen * i],
                            (unsigned int *)&siglen, pkey);
                        if (err != 1)
                            printf("!");
@@ -154,8 +163,8 @@ int main(int argc, char **argv)
                } else { /* verify */
                    for (i = 0; i < cycles; i++) {
                        EVP_VerifyInit(md_ctx, mdtype);
-                       EVP_VerifyUpdate(md_ctx, data, data_len);
-                       err = EVP_VerifyFinal(md_ctx, &sigbuf[siglen * i],
+                       err = EVP_VerifyUpdate(md_ctx, data, data_len)
+                          && EVP_VerifyFinal(md_ctx, &sigbuf[siglen * i],
                            siglen, pkey);
                        EVP_MD_CTX_reset(md_ctx);
                        if (err != 1)