From: Will Estes <wlestes@users.sourceforge.net>
Date: Mon, 23 Apr 2007 12:37:38 +0000 (+0000)
Subject: fix c++ memory leak (from Manoj Srivastava from Debian patchset)
X-Git-Tag: flex-2-5-34~25
X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=b75f91bebccc056c9d965e40bdef98f6c49601a9;p=flex

fix c++ memory leak (from Manoj Srivastava from Debian patchset)
---

diff --git a/flex.skl b/flex.skl
index bc455e6..f581683 100644
--- a/flex.skl
+++ b/flex.skl
@@ -2842,6 +2842,12 @@ m4_ifdef( [[M4_YY_HAS_START_STACK_VARS]],
         YY_G(yy_start_stack) = NULL;
 ]])
 
+%if-c++-only
+	delete [] YY_G(yy_state_buf);
+	yyfree(YY_G(yy_start_stack) M4_YY_CALL_LAST_ARG );
+%endif
+
+%if-c-only
 m4_ifdef( [[M4_YY_USES_REJECT]],
 [[
     yyfree ( YY_G(yy_state_buf) M4_YY_CALL_LAST_ARG);
@@ -2939,6 +2945,7 @@ static int yytbl_read8 (void *v, struct yytbl_reader * rd)
     }
     rd->bread += sizeof(flex_uint8_t);
     return 0;
+%endif
 }
 
 static int yytbl_read16 (void *v, struct yytbl_reader * rd)