Fix possible null dereferences
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@13900 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
parent
69b32d921f
commit
111b517372
1 changed files with 3 additions and 3 deletions
|
|
@ -668,7 +668,7 @@ SwigType *SwigType_typedef_resolve(const SwigType *t) {
|
||||||
Printf(stdout, "namebase = '%s'\n", namebase);
|
Printf(stdout, "namebase = '%s'\n", namebase);
|
||||||
#endif
|
#endif
|
||||||
type = typedef_resolve(s, namebase);
|
type = typedef_resolve(s, namebase);
|
||||||
if (type) {
|
if (type && resolved_scope) {
|
||||||
/* we need to look for the resolved type, this will also
|
/* we need to look for the resolved type, this will also
|
||||||
fix the resolved_scope if 'type' and 'namebase' are
|
fix the resolved_scope if 'type' and 'namebase' are
|
||||||
declared in different scopes */
|
declared in different scopes */
|
||||||
|
|
@ -680,7 +680,7 @@ SwigType *SwigType_typedef_resolve(const SwigType *t) {
|
||||||
#ifdef SWIG_DEBUG
|
#ifdef SWIG_DEBUG
|
||||||
Printf(stdout, "%s type = '%s'\n", Getattr(s, "name"), type);
|
Printf(stdout, "%s type = '%s'\n", Getattr(s, "name"), type);
|
||||||
#endif
|
#endif
|
||||||
if ((type) && (!Swig_scopename_check(type)) && resolved_scope) {
|
if (type && (!Swig_scopename_check(type)) && resolved_scope) {
|
||||||
Typetab *rtab = resolved_scope;
|
Typetab *rtab = resolved_scope;
|
||||||
String *qname = Getattr(resolved_scope, "qname");
|
String *qname = Getattr(resolved_scope, "qname");
|
||||||
/* If qualified *and* the typename is defined from the resolved scope, we qualify */
|
/* If qualified *and* the typename is defined from the resolved scope, we qualify */
|
||||||
|
|
@ -898,7 +898,7 @@ SwigType *SwigType_typedef_qualified(const SwigType *t) {
|
||||||
e = ty;
|
e = ty;
|
||||||
}
|
}
|
||||||
resolved_scope = 0;
|
resolved_scope = 0;
|
||||||
if (typedef_resolve(current_scope, e)) {
|
if (typedef_resolve(current_scope, e) && resolved_scope) {
|
||||||
/* resolved_scope contains the scope that actually resolved the symbol */
|
/* resolved_scope contains the scope that actually resolved the symbol */
|
||||||
String *qname = Getattr(resolved_scope, "qname");
|
String *qname = Getattr(resolved_scope, "qname");
|
||||||
if (qname) {
|
if (qname) {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue