From 3ee1f92d2e575071927f16e080fdc9712cb04d52 Mon Sep 17 00:00:00 2001 From: Holger Vogt Date: Sat, 25 Aug 2018 23:14:03 +0200 Subject: [PATCH] plug a memory leak in b3temp.cir: no overwriting of size dependent model parameters in pParam FIXME: still to be done for other BSIM models! --- src/spicelib/devices/bsim3/b3temp.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/spicelib/devices/bsim3/b3temp.c b/src/spicelib/devices/bsim3/b3temp.c index 19bd337f5..d8166e0eb 100644 --- a/src/spicelib/devices/bsim3/b3temp.c +++ b/src/spicelib/devices/bsim3/b3temp.c @@ -58,6 +58,13 @@ int Size_Not_Found, error; { model->BSIM3GatesidewallJctPotential = 0.1; fprintf(stderr, "Given pbswg is less than 0.1. Pbswg is set to 0.1.\n"); } + + struct bsim3SizeDependParam *p = model->pSizeDependParamKnot; + while (p) { + struct bsim3SizeDependParam *next_p = p->pNext; + FREE(p); + p = next_p; + } model->pSizeDependParamKnot = NULL; pLastKnot = NULL;