From 80bc975e33bb75479bec647aad1e68efb75d5cd0 Mon Sep 17 00:00:00 2001 From: rlar Date: Thu, 23 Aug 2012 21:13:44 +0200 Subject: [PATCH] plug a memory leak in inp_spsource/inp_nutsource (deck title string) --- src/frontend/inp.c | 5 +++++ src/frontend/nutinp.c | 2 ++ 2 files changed, 7 insertions(+) diff --git a/src/frontend/inp.c b/src/frontend/inp.c index d349a507f..faaa0e8af 100644 --- a/src/frontend/inp.c +++ b/src/frontend/inp.c @@ -490,6 +490,7 @@ inp_spsource(FILE *fp, bool comfile, char *filename) if ((deck->li_next = inp_subcktexpand(deck->li_next)) == NULL) { line_free(realdeck, TRUE); line_free(deck->li_actual, TRUE); + tfree(tt); return; } @@ -557,6 +558,8 @@ inp_spsource(FILE *fp, bool comfile, char *filename) /* now load deck into ft_curckt -- the current circuit. */ inp_dodeck(deck, tt, wl_first, FALSE, options, filename); + /* inp_dodeck did take ownership */ + tt = NULL; } /* if (deck->li_next) */ @@ -663,6 +666,8 @@ inp_spsource(FILE *fp, bool comfile, char *filename) cp_curin = lastin; cp_curout = lastout; cp_curerr = lasterr; + + tfree(tt); } diff --git a/src/frontend/nutinp.c b/src/frontend/nutinp.c index 98b8dfcd6..b550b7925 100644 --- a/src/frontend/nutinp.c +++ b/src/frontend/nutinp.c @@ -180,6 +180,8 @@ inp_nutsource(FILE *fp, bool comfile, char *filename) cp_curin = lastin; cp_curout = lastout; cp_curerr = lasterr; + + tfree(tt); return; }