mirror of https://github.com/wolfSSL/wolfssl
Fix issue with `benchmark_init` refactor where malloc failure could use null pointer. Added error checking on the `wolfCrypt_Init()`.
This commit is contained in:
parent
7a972d9611
commit
f0d6299581
|
@ -909,7 +909,10 @@ int benchmark_init(void)
|
||||||
}
|
}
|
||||||
#endif /* WOLFSSL_STATIC_MEMORY */
|
#endif /* WOLFSSL_STATIC_MEMORY */
|
||||||
|
|
||||||
wolfCrypt_Init();
|
if ((ret = wolfCrypt_Init()) != 0) {
|
||||||
|
printf("wolfCrypt_Init failed %d\n", ret);
|
||||||
|
return EXIT_FAILURE;
|
||||||
|
}
|
||||||
|
|
||||||
bench_stats_init();
|
bench_stats_init();
|
||||||
|
|
||||||
|
@ -936,8 +939,11 @@ int benchmark_init(void)
|
||||||
bench_plain = (byte*)XMALLOC(block_size, HEAP_HINT, DYNAMIC_TYPE_WOLF_BIGINT);
|
bench_plain = (byte*)XMALLOC(block_size, HEAP_HINT, DYNAMIC_TYPE_WOLF_BIGINT);
|
||||||
bench_cipher = (byte*)XMALLOC(block_size, HEAP_HINT, DYNAMIC_TYPE_WOLF_BIGINT);
|
bench_cipher = (byte*)XMALLOC(block_size, HEAP_HINT, DYNAMIC_TYPE_WOLF_BIGINT);
|
||||||
if (bench_plain == NULL || bench_cipher == NULL) {
|
if (bench_plain == NULL || bench_cipher == NULL) {
|
||||||
|
XFREE(bench_plain, HEAP_HINT, DYNAMIC_TYPE_WOLF_BIGINT);
|
||||||
|
XFREE(bench_cipher, HEAP_HINT, DYNAMIC_TYPE_WOLF_BIGINT);
|
||||||
|
|
||||||
printf("Benchmark block buffer alloc failed!\n");
|
printf("Benchmark block buffer alloc failed!\n");
|
||||||
ret = EXIT_FAILURE;
|
return EXIT_FAILURE;
|
||||||
}
|
}
|
||||||
XMEMSET(bench_plain, 0, block_size);
|
XMEMSET(bench_plain, 0, block_size);
|
||||||
XMEMSET(bench_cipher, 0, block_size);
|
XMEMSET(bench_cipher, 0, block_size);
|
||||||
|
@ -946,8 +952,11 @@ int benchmark_init(void)
|
||||||
bench_key = (byte*)XMALLOC(sizeof(bench_key_buf), HEAP_HINT, DYNAMIC_TYPE_WOLF_BIGINT);
|
bench_key = (byte*)XMALLOC(sizeof(bench_key_buf), HEAP_HINT, DYNAMIC_TYPE_WOLF_BIGINT);
|
||||||
bench_iv = (byte*)XMALLOC(sizeof(bench_iv_buf), HEAP_HINT, DYNAMIC_TYPE_WOLF_BIGINT);
|
bench_iv = (byte*)XMALLOC(sizeof(bench_iv_buf), HEAP_HINT, DYNAMIC_TYPE_WOLF_BIGINT);
|
||||||
if (bench_key == NULL || bench_iv == NULL) {
|
if (bench_key == NULL || bench_iv == NULL) {
|
||||||
|
XFREE(bench_key, HEAP_HINT, DYNAMIC_TYPE_WOLF_BIGINT);
|
||||||
|
XFREE(bench_iv, HEAP_HINT, DYNAMIC_TYPE_WOLF_BIGINT);
|
||||||
|
|
||||||
printf("Benchmark cipher buffer alloc failed!\n");
|
printf("Benchmark cipher buffer alloc failed!\n");
|
||||||
ret = EXIT_FAILURE;
|
return EXIT_FAILURE;
|
||||||
}
|
}
|
||||||
XMEMCPY(bench_key, bench_key_buf, sizeof(bench_key_buf));
|
XMEMCPY(bench_key, bench_key_buf, sizeof(bench_key_buf));
|
||||||
XMEMCPY(bench_iv, bench_iv_buf, sizeof(bench_iv_buf));
|
XMEMCPY(bench_iv, bench_iv_buf, sizeof(bench_iv_buf));
|
||||||
|
|
Loading…
Reference in New Issue