Skip to content

Commit 4ee9a26

Browse files
julek-wolfssldgarske
authored andcommitted
Fix resource leak in wc_InitEccsiKey_ex error path
F-752
1 parent b168bfa commit 4ee9a26

1 file changed

Lines changed: 1 addition & 6 deletions

File tree

wolfcrypt/src/eccsi.c

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -68,8 +68,6 @@ int wc_InitEccsiKey_ex(EccsiKey* key, int keySz, int curveId, void* heap,
6868
int devId)
6969
{
7070
int err = 0;
71-
ecc_key* ecc = NULL;
72-
ecc_key* pubkey = NULL;
7371
EccsiKeyParams* params = NULL;
7472

7573
if (key == NULL) {
@@ -84,7 +82,6 @@ int wc_InitEccsiKey_ex(EccsiKey* key, int keySz, int curveId, void* heap,
8482
err = wc_ecc_init_ex(&key->ecc, heap, devId);
8583
}
8684
if (err == 0) {
87-
ecc = &key->ecc;
8885
err = wc_ecc_init_ex(&key->pubkey, heap, devId);
8986
}
9087
if (err == 0) {
@@ -94,7 +91,6 @@ int wc_InitEccsiKey_ex(EccsiKey* key, int keySz, int curveId, void* heap,
9491
}
9592
}
9693
if (err == 0) {
97-
pubkey = &key->pubkey;
9894
err = mp_init_multi(&params->order,
9995
#ifdef WOLFCRYPT_ECCSI_CLIENT
10096
&params->a, &params->b, &params->prime, &key->tmp, &key->ssk
@@ -111,8 +107,7 @@ int wc_InitEccsiKey_ex(EccsiKey* key, int keySz, int curveId, void* heap,
111107
}
112108

113109
if (err != 0) {
114-
wc_ecc_free(pubkey);
115-
wc_ecc_free(ecc);
110+
wc_FreeEccsiKey(key);
116111
}
117112

118113
return err;

0 commit comments

Comments
 (0)