From 34fcdda1e2567b7c0b31748ef377a3c9d5dd5291 Mon Sep 17 00:00:00 2001 From: Holger Vogt Date: Sun, 19 Aug 2018 21:03:15 +0200 Subject: [PATCH] plug a potentially huge memory leak --- src/spicelib/devices/vsrc/vsrcdel.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/spicelib/devices/vsrc/vsrcdel.c b/src/spicelib/devices/vsrc/vsrcdel.c index c86a80d08..f6f658f68 100644 --- a/src/spicelib/devices/vsrc/vsrcdel.c +++ b/src/spicelib/devices/vsrc/vsrcdel.c @@ -7,6 +7,7 @@ Author: 1985 Thomas L. Quarles #include "vsrcdefs.h" #include "ngspice/sperror.h" #include "ngspice/suffix.h" +#include "ngspice/1-f-code.h" int @@ -15,8 +16,10 @@ VSRCdelete(GENinstance *gen_inst) VSRCinstance *inst = (VSRCinstance *) gen_inst; FREE(inst->VSRCcoeffs); - - FREE(inst->VSRCtrnoise_state); + if (inst->VSRCtrnoise_state) { + FREE(inst->VSRCtrnoise_state->oneof); + FREE(inst->VSRCtrnoise_state); + } FREE(inst->VSRCtrrandom_state); return OK;