X-Git-Url: http://wagner.pp.ru/gitweb/?a=blobdiff_plain;f=benchmark%2Fsign.c;h=7696b9123273cda6cc3ce5164d59c7c92392716b;hb=30860f940321eb4762d6449ffef48fc93ad2d2e8;hp=417d8dd76b261f7274cc388a488c6e3651fe32ae;hpb=a0a81f0ac7c6667fcbea017eb95ad79b91b83138;p=openssl-gost%2Fengine.git diff --git a/benchmark/sign.c b/benchmark/sign.c index 417d8dd..7696b91 100644 --- a/benchmark/sign.c +++ b/benchmark/sign.c @@ -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, }; @@ -80,8 +85,6 @@ int main(int argc, char **argv) opterr = 0; while((option = getopt(argc, argv, "l:c:C")) >= 0) { - if(option == ':') option = optopt; - if(optarg && (optarg[0] == '-')) { optind--; optarg = NULL; } switch (option) { case 'l': @@ -131,6 +134,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 +151,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 +161,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)