From: simon Date: Thu, 30 Aug 2012 18:48:08 +0000 (+0000) Subject: Memory leak fixes reported by Balazs Domjan. X-Git-Url: https://git.distorted.org.uk/~mdw/sgt/putty/commitdiff_plain/5063f6911e42650ead6921e55dda6a7a42a92555 Memory leak fixes reported by Balazs Domjan. git-svn-id: svn://svn.tartarus.org/sgt/putty@9645 cda61777-01e9-0310-a592-d414129be87e --- diff --git a/terminal.c b/terminal.c index ed3563dc..cc4b0d8f 100644 --- a/terminal.c +++ b/terminal.c @@ -1619,10 +1619,14 @@ void term_free(Terminal *term) for (i = 0; i < term->bidi_cache_size; i++) { sfree(term->pre_bidi_cache[i].chars); sfree(term->post_bidi_cache[i].chars); + sfree(term->post_bidi_cache[i].forward); + sfree(term->post_bidi_cache[i].backward); } sfree(term->pre_bidi_cache); sfree(term->post_bidi_cache); + sfree(term->tabs); + expire_timer_context(term); conf_free(term->conf); @@ -1711,7 +1715,8 @@ void term_size(Terminal *term, int newrows, int newcols, int newsavelines) while (term->rows > newrows) { if (term->curs.y < term->rows - 1) { /* delete bottom row, unless it contains the cursor */ - sfree(delpos234(term->screen, term->rows - 1)); + line = delpos234(term->screen, term->rows - 1); + freeline(line); } else { /* push top row to scrollback */ line = delpos234(term->screen, 0);