"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,
};
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;
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("!");
} 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)