From 661d7b06c19cf87e035fc77a527869d13f4b08ce Mon Sep 17 00:00:00 2001 From: Pieter Wuille Date: Sun, 31 Mar 2013 06:53:40 +0200 Subject: [PATCH] Init/free field constant --- src/field.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/field.cpp b/src/field.cpp index 6e1a70b0d06..62239e20084 100644 --- a/src/field.cpp +++ b/src/field.cpp @@ -13,6 +13,7 @@ static const unsigned char secp256k1_fe_consts_p[] = { void static secp256k1_fe_start(void) { if (secp256k1_fe_consts == NULL) { secp256k1_fe_consts_t *ret = (secp256k1_fe_consts_t*)malloc(sizeof(secp256k1_fe_t)); + secp256k1_num_init(&ret->p); secp256k1_num_set_bin(&ret->p, secp256k1_fe_consts_p, sizeof(secp256k1_fe_consts_p)); secp256k1_fe_consts = ret; } @@ -20,7 +21,9 @@ void static secp256k1_fe_start(void) { void static secp256k1_fe_stop(void) { if (secp256k1_fe_consts != NULL) { - free((void*)secp256k1_fe_consts); + secp256k1_fe_consts_t *c = (secp256k1_fe_consts_t*)secp256k1_fe_consts; + secp256k1_num_free(&c->p); + free((void*)c); secp256k1_fe_consts = NULL; } }