aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJordan Rose <jordan_rose@apple.com>2012-08-30 20:43:09 +0000
committerJordan Rose <jordan_rose@apple.com>2012-08-30 20:43:09 +0000
commitf9f5fdbbeff3f60c5e8c0461df48d84365d56fd7 (patch)
tree6a7b4fec0562677e6caaaceec2ba425c9042ed91
parent9f6419f96d6cad3f7bd39f444cfc784ccbbdcd65 (diff)
[analyzer] Plist diagnostics: Fix a case where we fail to close an XML tag.
If the current path diagnostic does /not/ have files associated with it, we were simply skipping on to the next diagnostic with 'continue'. But that also skipped the close tag for the diagnostic's <dict> node. Part of fixing our internal analyzer buildbot. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162939 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--lib/StaticAnalyzer/Core/PlistDiagnostics.cpp5
1 files changed, 2 insertions, 3 deletions
diff --git a/lib/StaticAnalyzer/Core/PlistDiagnostics.cpp b/lib/StaticAnalyzer/Core/PlistDiagnostics.cpp
index 79b2a1ce7f..c038b632e9 100644
--- a/lib/StaticAnalyzer/Core/PlistDiagnostics.cpp
+++ b/lib/StaticAnalyzer/Core/PlistDiagnostics.cpp
@@ -500,8 +500,6 @@ void PlistDiagnostics::FlushDiagnosticsImpl(
if (!filesMade->empty()) {
StringRef lastName;
PDFileEntry::ConsumerFiles *files = filesMade->getFiles(*D);
- if (!files)
- continue;
for (PDFileEntry::ConsumerFiles::const_iterator CI = files->begin(),
CE = files->end(); CI != CE; ++CI) {
StringRef newName = CI->first;
@@ -515,7 +513,8 @@ void PlistDiagnostics::FlushDiagnosticsImpl(
}
o << " <string>" << CI->second << "</string>\n";
}
- o << " </array>\n";
+ if (!lastName.empty())
+ o << " </array>\n";
}
// Close up the entry.