diff options
Diffstat (limited to 'src/interfaces/ecpg/preproc/pgc.l')
-rw-r--r-- | src/interfaces/ecpg/preproc/pgc.l | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/interfaces/ecpg/preproc/pgc.l b/src/interfaces/ecpg/preproc/pgc.l index 40bdd8d6d9d..adb61765bfe 100644 --- a/src/interfaces/ecpg/preproc/pgc.l +++ b/src/interfaces/ecpg/preproc/pgc.l @@ -27,7 +27,7 @@ extern YYSTYPE yylval; static int xcdepth = 0; /* depth of nesting in slash-star comments */ -static char *dolqstart; /* current $foo$ quote start string */ +static char *dolqstart = NULL; /* current $foo$ quote start string */ static YY_BUFFER_STATE scanbufhandle; static char *scanbuf; @@ -524,6 +524,8 @@ cppline {space}*#([^i][A-Za-z]*|{if}|{ifdef}|{ifndef}|{import})(.*\\{space})*. } <SQL>{dolqdelim} { token_start = yytext; + if (dolqstart) + free(dolqstart); dolqstart = mm_strdup(yytext); BEGIN(xdolq); startlit(); |