summaryrefslogtreecommitdiff
path: root/src/libs/cplusplus/CheckUndefinedSymbols.cpp
diff options
context:
space:
mode:
authorErik Verbruggen <erik.verbruggen@nokia.com>2010-06-04 10:48:24 +0200
committerErik Verbruggen <erik.verbruggen@nokia.com>2010-06-04 11:15:38 +0200
commit66a3bbe3f933ac10dcfe218cc9e7391553ffd6a5 (patch)
tree42eb2f15042ea04eab812325ad0b6d9e87203e19 /src/libs/cplusplus/CheckUndefinedSymbols.cpp
parent0877e56d971b2ac8c881c526485b8197a861a3cf (diff)
downloadqt-creator-66a3bbe3f933ac10dcfe218cc9e7391553ffd6a5.tar.gz
Fixed possible null-pointer deref.
Diffstat (limited to 'src/libs/cplusplus/CheckUndefinedSymbols.cpp')
-rw-r--r--src/libs/cplusplus/CheckUndefinedSymbols.cpp24
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);
+ }
}
}
}