diff options
author | Eugene Sandulenko | 2013-04-24 01:19:03 +0300 |
---|---|---|
committer | Eugene Sandulenko | 2013-04-24 01:19:03 +0300 |
commit | c471a4120b3d9e1fd60b2d2e417cbc129d451ccd (patch) | |
tree | 937d3f44948be321db2ce4dbe6ab8d99dde75b7d | |
parent | 92780a33203e63dd2572c7fa4dcfe37d36b0966d (diff) | |
download | scummvm-rg350-c471a4120b3d9e1fd60b2d2e417cbc129d451ccd.tar.gz scummvm-rg350-c471a4120b3d9e1fd60b2d2e417cbc129d451ccd.tar.bz2 scummvm-rg350-c471a4120b3d9e1fd60b2d2e417cbc129d451ccd.zip |
GUI: Plug memory leak. CID 1003572
-rw-r--r-- | gui/ThemeParser.cpp | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/gui/ThemeParser.cpp b/gui/ThemeParser.cpp index 9b452607df..bd5b406ca8 100644 --- a/gui/ThemeParser.cpp +++ b/gui/ThemeParser.cpp @@ -335,11 +335,15 @@ bool ThemeParser::parserCallback_drawstep(ParserNode *node) { drawstep->drawingCall = getDrawingFunctionCallback(functionName); - if (drawstep->drawingCall == 0) + if (drawstep->drawingCall == 0) { + delete drawstep; return parserError(functionName + " is not a valid drawing function name"); + } - if (!parseDrawStep(node, drawstep, true)) + if (!parseDrawStep(node, drawstep, true)) { + delete drawstep; return false; + } _theme->addDrawStep(getParentNode(node)->values["id"], *drawstep); delete drawstep; |