From b5054cc9f1c10c26ed5b7ffc2d003d069d6a7da0 Mon Sep 17 00:00:00 2001 From: Holger Vogt Date: Tue, 18 May 2021 11:25:21 +0200 Subject: [PATCH] Plug a memory leak Add function HICUMdelete() to remove model->HICUMversion --- src/spicelib/devices/hicum2/hicum2ext.h | 2 +- src/spicelib/devices/hicum2/hicum2init.c | 2 +- src/spicelib/devices/hicum2/hicum2setup.c | 10 ++++++++++ 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/src/spicelib/devices/hicum2/hicum2ext.h b/src/spicelib/devices/hicum2/hicum2ext.h index c06492b2f..3af124bea 100644 --- a/src/spicelib/devices/hicum2/hicum2ext.h +++ b/src/spicelib/devices/hicum2/hicum2ext.h @@ -10,7 +10,7 @@ Model Author : 1990 Michael Schröter TU Dresden extern int HICUMacLoad(GENmodel *,CKTcircuit*); extern int HICUMask(CKTcircuit *,GENinstance*,int,IFvalue*,IFvalue*); extern int HICUMconvTest(GENmodel*,CKTcircuit*); -extern int HICUMdelete(GENinstance*); +extern int HICUMmDelete(GENmodel*); extern int HICUMgetic(GENmodel*,CKTcircuit*); //extern int HICUMload(GENmodel*,CKTcircuit*);//moved to hicumL2.hpp extern int HICUMmAsk(CKTcircuit*,GENmodel*,int,IFvalue*); diff --git a/src/spicelib/devices/hicum2/hicum2init.c b/src/spicelib/devices/hicum2/hicum2init.c index 3c74bd599..7ff355907 100644 --- a/src/spicelib/devices/hicum2/hicum2init.c +++ b/src/spicelib/devices/hicum2/hicum2init.c @@ -52,7 +52,7 @@ SPICEdev HICUMinfo = { .DEVacLoad = HICUMacLoad, .DEVaccept = NULL, .DEVdestroy = NULL, - .DEVmodDelete = NULL, + .DEVmodDelete = HICUMmDelete, .DEVdelete = NULL, .DEVsetic = HICUMgetic, .DEVask = HICUMask, diff --git a/src/spicelib/devices/hicum2/hicum2setup.c b/src/spicelib/devices/hicum2/hicum2setup.c index a2b5e4879..f820b5eb2 100644 --- a/src/spicelib/devices/hicum2/hicum2setup.c +++ b/src/spicelib/devices/hicum2/hicum2setup.c @@ -861,3 +861,13 @@ HICUMunsetup( } return OK; } + +int +HICUMmDelete(GENmodel* gen_model) +{ + HICUMmodel* model = (HICUMmodel*)gen_model; + + FREE(model->HICUMversion); + + return OK; +}