From c4c476f628cf4c8066e61c9ab4ce1ca6eeaff654 Mon Sep 17 00:00:00 2001 From: Taco Hoekwater Date: Wed, 11 Jun 2008 12:19:49 +0000 Subject: [PATCH] fix a few glaring memory leaks git-svn-id: svn+ssh://scm.foundry.supelec.fr/svn/metapost/mplib/trunk@545 b0617d17-b707-0410-b22c-fd2634e05cc4 --- src/texk/web2c/mpdir/makempx.w | 4 +++- src/texk/web2c/mpdir/mpost.w | 3 +++ src/texk/web2c/mpdir/mpxout.w | 9 ++++++--- 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/src/texk/web2c/mpdir/makempx.w b/src/texk/web2c/mpdir/makempx.w index fbfefb4..064030b 100644 --- a/src/texk/web2c/mpdir/makempx.w +++ b/src/texk/web2c/mpdir/makempx.w @@ -63,9 +63,11 @@ int main (int ac, char **av) { mpxopt->debug = debug; mpxopt->find_file = makempx_find_file; h = mp_makempx (mpxopt); + free(mpxopt->cmd); + free(mpxopt->mptexpre); + free(mpxopt); if (mpname!=NULL) free(mpname); if (mpxname!=NULL) free(mpxname); - if (cmd!=NULL) free(cmd); return h; } diff --git a/src/texk/web2c/mpdir/mpost.w b/src/texk/web2c/mpdir/mpost.w index b923396..3b54af8 100644 --- a/src/texk/web2c/mpdir/mpost.w +++ b/src/texk/web2c/mpdir/mpost.w @@ -183,6 +183,9 @@ int mpost_run_make_mpx (MP mp, char *mpname, char *mpxname) { mpxopt->debug = 0; mpxopt->find_file = makempx_find_file; ret = mp_makempx(mpxopt); + free(mpxopt->cmd); + free(mpxopt->mptexpre); + free(mpxopt); } free (qmpname); free (qmpxname); diff --git a/src/texk/web2c/mpdir/mpxout.w b/src/texk/web2c/mpdir/mpxout.w index aae0e52..73e17e7 100644 --- a/src/texk/web2c/mpdir/mpxout.w +++ b/src/texk/web2c/mpdir/mpxout.w @@ -4095,6 +4095,7 @@ int mp_makempx (makempx_options *mpxopt) { TROFF_OUTERR, mpx->mpxname); } } + mpx_fclose(mpx,mpx->mpxfile); if (!mpx->debug) mpx_fclose(mpx,mpx->errfile); if (!mpx->debug) { @@ -4103,9 +4104,11 @@ int mp_makempx (makempx_options *mpxopt) { remove(infile); } mpx_erasetmp(mpx); - if (mpx->history == mpx_cksum_trouble) - mpx->history = 0; - return mpx->history; + retcode = mpx->history; + free(mpx); + if (retcode == mpx_cksum_trouble) + retcode = 0; + return retcode; } @ \TeX\ has to operate on an actual input file, so we have to append -- 2.32.0.93.g670b81a890