Merge pull request #9883 from JacobBarthelmeh/f279

Fix to free RNG with SRP function in failure case
This commit is contained in:
Daniel Pouzzner
2026-03-05 16:10:35 -06:00
committed by GitHub
+9 -5
View File
@@ -543,12 +543,16 @@ int wc_SrpSetPrivate(Srp* srp, const byte* priv, word32 size)
static int wc_SrpGenPrivate(Srp* srp, byte* priv, word32 size)
{
WC_RNG rng;
int r = wc_InitRng_ex(&rng, srp->heap, INVALID_DEVID);
if (!r) r = wc_RNG_GenerateBlock(&rng, priv, size);
if (!r) r = wc_SrpSetPrivate(srp, priv, size);
if (!r) wc_FreeRng(&rng);
int r;
r = wc_InitRng_ex(&rng, srp->heap, INVALID_DEVID);
if (r == 0) {
r = wc_RNG_GenerateBlock(&rng, priv, size);
if (r == 0) {
r = wc_SrpSetPrivate(srp, priv, size);
}
wc_FreeRng(&rng);
}
return r;
}