diff options
author | Erik Verbruggen <erik.verbruggen@nokia.com> | 2010-06-04 10:48:24 +0200 |
---|---|---|
committer | Erik Verbruggen <erik.verbruggen@nokia.com> | 2010-06-04 11:15:38 +0200 |
commit | 66a3bbe3f933ac10dcfe218cc9e7391553ffd6a5 (patch) | |
tree | 42eb2f15042ea04eab812325ad0b6d9e87203e19 /src/libs/cplusplus/CheckUndefinedSymbols.cpp | |
parent | 0877e56d971b2ac8c881c526485b8197a861a3cf (diff) | |
download | qt-creator-66a3bbe3f933ac10dcfe218cc9e7391553ffd6a5.tar.gz |
Fixed possible null-pointer deref.
Diffstat (limited to 'src/libs/cplusplus/CheckUndefinedSymbols.cpp')
-rw-r--r-- | src/libs/cplusplus/CheckUndefinedSymbols.cpp | 24 |
1 files changed, 12 insertions, 12 deletions
diff --git a/src/libs/cplusplus/CheckUndefinedSymbols.cpp b/src/libs/cplusplus/CheckUndefinedSymbols.cpp index c91de03cde..10fb5dc7e6 100644 --- a/src/libs/cplusplus/CheckUndefinedSymbols.cpp +++ b/src/libs/cplusplus/CheckUndefinedSymbols.cpp @@ -381,25 +381,25 @@ bool CheckUndefinedSymbols::visit(QualifiedNameAST *ast) ClassOrNamespace *b = 0; if (NestedNameSpecifierListAST *it = ast->nested_name_specifier_list) { NestedNameSpecifierAST *nested_name_specifier = it->value; - NameAST *class_or_namespace_name = nested_name_specifier->class_or_namespace_name; // ### remove shadowing + if (NameAST *class_or_namespace_name = nested_name_specifier->class_or_namespace_name) { // ### remove shadowing - if (class_or_namespace_name) if (TemplateIdAST *template_id = class_or_namespace_name->asTemplateId()) accept(template_id->template_argument_list); - const Name *name = class_or_namespace_name->name; - b = _context.lookupType(name, scope); - addTypeUsage(b, class_or_namespace_name); + const Name *name = class_or_namespace_name->name; + b = _context.lookupType(name, scope); + addTypeUsage(b, class_or_namespace_name); - for (it = it->next; b && it; it = it->next) { - NestedNameSpecifierAST *nested_name_specifier = it->value; + for (it = it->next; b && it; it = it->next) { + NestedNameSpecifierAST *nested_name_specifier = it->value; - if (NameAST *class_or_namespace_name = nested_name_specifier->class_or_namespace_name) { - if (TemplateIdAST *template_id = class_or_namespace_name->asTemplateId()) - accept(template_id->template_argument_list); + if (NameAST *class_or_namespace_name = nested_name_specifier->class_or_namespace_name) { + if (TemplateIdAST *template_id = class_or_namespace_name->asTemplateId()) + accept(template_id->template_argument_list); - b = b->findType(class_or_namespace_name->name); - addTypeUsage(b, class_or_namespace_name); + b = b->findType(class_or_namespace_name->name); + addTypeUsage(b, class_or_namespace_name); + } } } } |