fix potential null pointer usage as reported by Coverity Prevent
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@10608 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
parent
e5acd3b48a
commit
b02017c658
3 changed files with 16 additions and 12 deletions
|
|
@ -167,19 +167,22 @@ static int cparse_template_expand(Node *n, String *tname, String *rname, String
|
||||||
add_parms(Getattr(n, "throws"), cpatchlist, typelist);
|
add_parms(Getattr(n, "throws"), cpatchlist, typelist);
|
||||||
} else if (Equal(nodeType, "destructor")) {
|
} else if (Equal(nodeType, "destructor")) {
|
||||||
String *name = Getattr(n, "name");
|
String *name = Getattr(n, "name");
|
||||||
if (name && strchr(Char(name), '<')) {
|
if (name) {
|
||||||
|
if (strchr(Char(name), '<'))
|
||||||
Append(patchlist, Getattr(n, "name"));
|
Append(patchlist, Getattr(n, "name"));
|
||||||
} else {
|
else
|
||||||
Append(name, templateargs);
|
Append(name, templateargs);
|
||||||
}
|
}
|
||||||
name = Getattr(n, "sym:name");
|
name = Getattr(n, "sym:name");
|
||||||
if (name && strchr(Char(name), '<')) {
|
if (name) {
|
||||||
|
if (strchr(Char(name), '<')) {
|
||||||
String *sn = Copy(tname);
|
String *sn = Copy(tname);
|
||||||
Setattr(n, "sym:name", sn);
|
Setattr(n, "sym:name", sn);
|
||||||
Delete(sn);
|
Delete(sn);
|
||||||
} else {
|
} else {
|
||||||
Replace(name, tname, rname, DOH_REPLACE_ANY);
|
Replace(name, tname, rname, DOH_REPLACE_ANY);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
/* Setattr(n,"sym:name",name); */
|
/* Setattr(n,"sym:name",name); */
|
||||||
Append(cpatchlist, Getattr(n, "code"));
|
Append(cpatchlist, Getattr(n, "code"));
|
||||||
} else if (Equal(nodeType, "using")) {
|
} else if (Equal(nodeType, "using")) {
|
||||||
|
|
|
||||||
|
|
@ -1998,6 +1998,7 @@ public:
|
||||||
if (!(variable_wrapper_flag && i == 0)) {
|
if (!(variable_wrapper_flag && i == 0)) {
|
||||||
SwigType *pt = Getattr(p, "type");
|
SwigType *pt = Getattr(p, "type");
|
||||||
String *param_type = NewString("");
|
String *param_type = NewString("");
|
||||||
|
if (setter_flag)
|
||||||
last_parm = p;
|
last_parm = p;
|
||||||
|
|
||||||
/* Get the C# parameter type */
|
/* Get the C# parameter type */
|
||||||
|
|
|
||||||
|
|
@ -847,7 +847,7 @@ SwigType *SwigType_typedef_qualified(SwigType *t) {
|
||||||
String *result;
|
String *result;
|
||||||
int i, len;
|
int i, len;
|
||||||
|
|
||||||
if (t && strncmp(Char(t), "::", 2) == 0) {
|
if (strncmp(Char(t), "::", 2) == 0) {
|
||||||
return Copy(t);
|
return Copy(t);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue