@@ -33197,7 +33197,7 @@ static int ASNToHexString(const byte* input, word32* inOutIdx, char** out,
3319733197 return 0;
3319833198}
3319933199
33200- static int EccKeyParamCopy(char** dst, char* src)
33200+ static int EccKeyParamCopy(char** dst, char* src, void* heap )
3320133201{
3320233202 int ret = 0;
3320333203#ifdef WOLFSSL_ECC_CURVE_STATIC
@@ -33218,7 +33218,9 @@ static int EccKeyParamCopy(char** dst, char* src)
3321833218 else {
3321933219 XSTRNCPY(*dst, src, MAX_ECC_STRING);
3322033220 }
33221+ XFREE(src, heap, DYNAMIC_TYPE_ECC_BUFFER);
3322133222#endif
33223+ (void)heap;
3322233224
3322333225 return ret;
3322433226}
@@ -33326,10 +33328,10 @@ int wc_EccPublicKeyDecode(const byte* input, word32* inOutIdx,
3332633328 key->heap, DYNAMIC_TYPE_ECC_BUFFER);
3332733329 if (ret == 0) {
3332833330#ifndef WOLFSSL_ECC_CURVE_STATIC
33329- ret = EccKeyParamCopy((char**)&curve->prime, p);
33331+ ret = EccKeyParamCopy((char**)&curve->prime, p, key->heap );
3333033332#else
3333133333 const char *_tmp_ptr = &curve->prime[0];
33332- ret = EccKeyParamCopy((char**)&_tmp_ptr, p);
33334+ ret = EccKeyParamCopy((char**)&_tmp_ptr, p, key->heap );
3333333335#endif
3333433336 }
3333533337 }
@@ -33345,10 +33347,10 @@ int wc_EccPublicKeyDecode(const byte* input, word32* inOutIdx,
3334533347 key->heap, DYNAMIC_TYPE_ECC_BUFFER);
3334633348 if (ret == 0) {
3334733349#ifndef WOLFSSL_ECC_CURVE_STATIC
33348- ret = EccKeyParamCopy((char**)&curve->Af, af);
33350+ ret = EccKeyParamCopy((char**)&curve->Af, af, key->heap );
3334933351#else
3335033352 const char *_tmp_ptr = &curve->Af[0];
33351- ret = EccKeyParamCopy((char**)&_tmp_ptr, af);
33353+ ret = EccKeyParamCopy((char**)&_tmp_ptr, af, key->heap );
3335233354#endif
3335333355 }
3335433356 }
@@ -33358,10 +33360,10 @@ int wc_EccPublicKeyDecode(const byte* input, word32* inOutIdx,
3335833360 key->heap, DYNAMIC_TYPE_ECC_BUFFER);
3335933361 if (ret == 0) {
3336033362#ifndef WOLFSSL_ECC_CURVE_STATIC
33361- ret = EccKeyParamCopy((char**)&curve->Bf, bf);
33363+ ret = EccKeyParamCopy((char**)&curve->Bf, bf, key->heap );
3336233364#else
3336333365 const char *_tmp_ptr = &curve->Bf[0];
33364- ret = EccKeyParamCopy((char**)&_tmp_ptr, bf);
33366+ ret = EccKeyParamCopy((char**)&_tmp_ptr, bf, key->heap );
3336533367#endif
3336633368 }
3336733369 }
@@ -33418,10 +33420,10 @@ int wc_EccPublicKeyDecode(const byte* input, word32* inOutIdx,
3341833420 key->heap, DYNAMIC_TYPE_ECC_BUFFER);
3341933421 if (ret == 0) {
3342033422#ifndef WOLFSSL_ECC_CURVE_STATIC
33421- ret = EccKeyParamCopy((char**)&curve->order, o);
33423+ ret = EccKeyParamCopy((char**)&curve->order, o, key->heap );
3342233424#else
3342333425 const char *_tmp_ptr = &curve->order[0];
33424- ret = EccKeyParamCopy((char**)&_tmp_ptr, o);
33426+ ret = EccKeyParamCopy((char**)&_tmp_ptr, o, key->heap );
3342533427#endif
3342633428 }
3342733429 }
0 commit comments