From: <wsf...@us...> - 2008-06-29 00:50:28
|
Revision: 10608 http://swig.svn.sourceforge.net/swig/?rev=10608&view=rev Author: wsfulton Date: 2008-06-28 17:50:27 -0700 (Sat, 28 Jun 2008) Log Message: ----------- fix potential null pointer usage as reported by Coverity Prevent Modified Paths: -------------- trunk/Source/CParse/templ.c trunk/Source/Modules/csharp.cxx trunk/Source/Swig/typesys.c Modified: trunk/Source/CParse/templ.c =================================================================== --- trunk/Source/CParse/templ.c 2008-06-29 00:19:05 UTC (rev 10607) +++ trunk/Source/CParse/templ.c 2008-06-29 00:50:27 UTC (rev 10608) @@ -167,18 +167,21 @@ add_parms(Getattr(n, "throws"), cpatchlist, typelist); } else if (Equal(nodeType, "destructor")) { String *name = Getattr(n, "name"); - if (name && strchr(Char(name), '<')) { - Append(patchlist, Getattr(n, "name")); - } else { - Append(name, templateargs); + if (name) { + if (strchr(Char(name), '<')) + Append(patchlist, Getattr(n, "name")); + else + Append(name, templateargs); } name = Getattr(n, "sym:name"); - if (name && strchr(Char(name), '<')) { - String *sn = Copy(tname); - Setattr(n, "sym:name", sn); - Delete(sn); - } else { - Replace(name, tname, rname, DOH_REPLACE_ANY); + if (name) { + if (strchr(Char(name), '<')) { + String *sn = Copy(tname); + Setattr(n, "sym:name", sn); + Delete(sn); + } else { + Replace(name, tname, rname, DOH_REPLACE_ANY); + } } /* Setattr(n,"sym:name",name); */ Append(cpatchlist, Getattr(n, "code")); Modified: trunk/Source/Modules/csharp.cxx =================================================================== --- trunk/Source/Modules/csharp.cxx 2008-06-29 00:19:05 UTC (rev 10607) +++ trunk/Source/Modules/csharp.cxx 2008-06-29 00:50:27 UTC (rev 10608) @@ -1998,7 +1998,8 @@ if (!(variable_wrapper_flag && i == 0)) { SwigType *pt = Getattr(p, "type"); String *param_type = NewString(""); - last_parm = p; + if (setter_flag) + last_parm = p; /* Get the C# parameter type */ if ((tm = Getattr(p, "tmap:cstype"))) { Modified: trunk/Source/Swig/typesys.c =================================================================== --- trunk/Source/Swig/typesys.c 2008-06-29 00:19:05 UTC (rev 10607) +++ trunk/Source/Swig/typesys.c 2008-06-29 00:50:27 UTC (rev 10608) @@ -847,7 +847,7 @@ String *result; int i, len; - if (t && strncmp(Char(t), "::", 2) == 0) { + if (strncmp(Char(t), "::", 2) == 0) { return Copy(t); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |