From 7f379058ad6686095acc2e8bfbcadc360e08b0f8 Mon Sep 17 00:00:00 2001 From: Simon Tatham Date: Tue, 4 Dec 2001 19:03:42 +0000 Subject: Fix memory management error (don't free a linked list by freeing x and _then_ setting x = x->next!). [originally from svn r1445] --- bk_xhtml.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/bk_xhtml.c b/bk_xhtml.c index 4dc9710..5bc52cf 100644 --- a/bk_xhtml.c +++ b/bk_xhtml.c @@ -596,11 +596,14 @@ void xhtml_backend(paragraph *sourceform, keywordlist *in_keywords, index *in_id xhtml_do_index(); /* release file, section, index data structures */ - for (xsect = topsection; xsect!=NULL; xsect=xsect->chain) { + xsect = topsection; + while (xsect) { + xhtmlsection *tmp = xsect->chain; if (xsect->fragment) { sfree(xsect->fragment); } sfree(xsect); + xsect = tmp; } xhtml_free_file(topfile); for (ti = 0; (ientry=(indexentry *)index234(idx->entries, ti))!=NULL; ti++) { -- cgit v1.1