Revision: 4838 http://geany.svn.sourceforge.net/geany/?rev=4838&view=rev Author: eht16 Date: 2010-04-19 20:42:23 +0000 (Mon, 19 Apr 2010)
Log Message: ----------- More fixes to prevent possible crashes by trying to free NULL pointers.
Modified Paths: -------------- trunk/ChangeLog trunk/tagmanager/pascal.c
Modified: trunk/ChangeLog =================================================================== --- trunk/ChangeLog 2010-04-19 12:33:41 UTC (rev 4837) +++ trunk/ChangeLog 2010-04-19 20:42:23 UTC (rev 4838) @@ -1,3 +1,10 @@ +2010-04-19 Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de> + + * tagmanager/pascal.c: + More fixes to prevent possible crashes by trying to free NULL + pointers. + + 2010-04-19 Nick Treleaven <nick(dot)treleaven(at)btinternet(dot)com>
* plugins/filebrowser.c:
Modified: trunk/tagmanager/pascal.c =================================================================== --- trunk/tagmanager/pascal.c 2010-04-19 12:33:41 UTC (rev 4837) +++ trunk/tagmanager/pascal.c 2010-04-19 20:42:23 UTC (rev 4838) @@ -285,8 +285,9 @@ for (cp = dbp ; *cp != '\0' && !endtoken (*cp) ; cp++) continue; vStringNCopyS (name, (const char*) dbp, cp - dbp); - eFree(arglist); - if (kind == K_FUNCTION) + if (arglist != NULL) + eFree(arglist); + if (kind == K_FUNCTION && vartype != NULL) eFree(vartype); parseArglist((const char*) cp, &arglist, (kind == K_FUNCTION) ? &vartype : NULL); createPascalTag (&tag, name, kind, arglist, (kind == K_FUNCTION) ? vartype : NULL); @@ -337,8 +338,10 @@ } } /* while not eof */ } - eFree(arglist); - eFree(vartype); + if (arglist != NULL) + eFree(arglist); + if (vartype != NULL) + eFree(vartype); vStringDelete(name); }
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.