Fix for free() issue on the ecc-stack example. Requires PR https://github.com/wolfSSL/wolfssl/pull/1711

pull/97/head
David Garske 2018-07-23 16:04:25 -07:00
parent 9af7b9412a
commit 0bf51914fb
1 changed files with 21 additions and 10 deletions

View File

@ -9,8 +9,10 @@
#include <wolfssl/ssl.h> #include <wolfssl/ssl.h>
#include <wolfssl/test.h> #include <wolfssl/test.h>
static RNG rng; #define TEST_KEY_SZ 32
static ecc_key genKey;
static WC_RNG mRng;
static ecc_key mGenKey;
static void* do_it(void* args) static void* do_it(void* args)
{ {
@ -18,12 +20,13 @@ static void* do_it(void* args)
InitMemoryTracker(); InitMemoryTracker();
ret = wc_ecc_make_key(&rng, 32, &genKey); ret = wc_ecc_make_key(&mRng, TEST_KEY_SZ, &mGenKey);
if (ret < 0) { if (ret != 0) {
printf("ecc make key failed\n"); printf("ecc make key failed %d\n", ret);
} }
ShowMemoryTracker(); ShowMemoryTracker();
CleanupMemoryTracker();
(void)args; (void)args;
@ -33,16 +36,24 @@ static void* do_it(void* args)
int main() int main()
{ {
int ret = wc_InitRng(&rng); int ret;
if (ret < 0) {
printf("Init RNG failed\n"); wolfCrypt_Init();
ret = wc_InitRng(&mRng);
if (ret != 0) {
printf("Init RNG failed %d\n", ret);
} }
StackSizeCheck(NULL, do_it); StackSizeCheck(NULL, do_it);
printf("sizeof RNG = %lu\n", sizeof(RNG)); printf("sizeof RNG = %lu\n", sizeof(WC_RNG));
printf("sizeof ecc_key = %lu\n", sizeof(ecc_key)); printf("sizeof ecc_key = %lu\n", sizeof(ecc_key));
wc_FreeRng(&rng); ret = wc_FreeRng(&mRng);
if (ret != 0) {
printf("Free RNG failed %d\n", ret);
}
wolfCrypt_Cleanup();
return 0; return 0;
} }