- From: Simon Watfa <simonw@quadrus.com>
- Date: Thu, 25 Jan 1996 21:01:28 -0700
- To: "'www-html@w3.org'" <www-html@w3.org>
Someone may have already pointed this out, but I thought it would be good to report this anyway. I am using the flex-generated lexer "A Lexical Analyzer for HTML and Basic SGML" discussed in "http://www.w3.org/pub/WWW/MarkUp/SGML/sgml-lex/sgml-lex.html" and have found that it causes memory leaks. The function in question is located in sgml_lex.c. The following is an excerpt from that file. There is a line missing in function freeEvent() which causes a memory leak. /* $Id: sgml_lex.c,v 1.5 1995/10/18 05:35:46 connolly Exp $ */ /* * Implementation of Basic SGML lexer. * For theory of operation, see W3C tech report: * * "A Lexical Analyzer for HTML and Basic SGML" * http://www.w3.org/team/WWW/MarkUp/SGML/sgml-lex/sgml-lex.html [*** intermediate code omitted ***] static void freeEvent(SGML_Lexer *l) { int i; for(i = 0; i < l->qty; i++){ free((char*) (l->strings)[i]); } free(l->strings); l->strings = NULL; free(l->lengths); l->lengths = NULL; free(l->types); l->types = NULL; /*** THIS LINE IS MISSING IN ORIGINAL ***/ l->qty = 0; }
Received on Thursday, 25 January 1996 23:10:21 UTC