diff options
author | Brad King <brad.king@kitware.com> | 2013-09-17 14:24:17 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2013-09-17 14:27:08 (GMT) |
commit | ad3d5c59b3c57112e3b96812ee8a66b08dcd864e (patch) | |
tree | f864a5ecfc989d2640b559fe3aa0e8f667db8a61 /Source/cmListFileLexer.in.l | |
parent | 40c76c1dc84867aae6ef1b6138abed5de3eeb28b (diff) | |
download | CMake-ad3d5c59b3c57112e3b96812ee8a66b08dcd864e.zip CMake-ad3d5c59b3c57112e3b96812ee8a66b08dcd864e.tar.gz CMake-ad3d5c59b3c57112e3b96812ee8a66b08dcd864e.tar.bz2 |
cmListFileLexer: Fix leak on error before EOF
Teach cmListFileLexerDestroy to call cmListFileLexerSetToken with a NULL
token to free the token string buffer. Without this, if an error occurs
before the token cleanup happens when EOF is reached, then the token
string buffer may leak.
Diffstat (limited to 'Source/cmListFileLexer.in.l')
-rw-r--r-- | Source/cmListFileLexer.in.l | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/Source/cmListFileLexer.in.l b/Source/cmListFileLexer.in.l index 12b53ee..bd3c1eb 100644 --- a/Source/cmListFileLexer.in.l +++ b/Source/cmListFileLexer.in.l @@ -292,6 +292,7 @@ static void cmListFileLexerInit(cmListFileLexer* lexer) /*--------------------------------------------------------------------------*/ static void cmListFileLexerDestroy(cmListFileLexer* lexer) { + cmListFileLexerSetToken(lexer, 0, 0); if(lexer->file || lexer->string_buffer) { cmListFileLexer_yylex_destroy(lexer->scanner); |