Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(252)

Unified Diff: snapshot/minidump/minidump_simple_string_dictionary_reader.cc

Issue 972383002: snapshot: Add a minimal ModuleSnapshotMinidump and accessor from ProcessSnapshotMinidump (Closed) Base URL: https://chromium.googlesource.com/crashpad/crashpad@master
Patch Set: Created 5 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: snapshot/minidump/minidump_simple_string_dictionary_reader.cc
diff --git a/snapshot/minidump/minidump_simple_string_dictionary_reader.cc b/snapshot/minidump/minidump_simple_string_dictionary_reader.cc
index 685266d74d5450da9eddcacad8263ca1ca8a154f..88399452be5fbc0f8f57d08b0a9231b088e0e77e 100644
--- a/snapshot/minidump/minidump_simple_string_dictionary_reader.cc
+++ b/snapshot/minidump/minidump_simple_string_dictionary_reader.cc
@@ -28,8 +28,9 @@ bool ReadMinidumpSimpleStringDictionary(
FileReaderInterface* file_reader,
const MINIDUMP_LOCATION_DESCRIPTOR& location,
std::map<std::string, std::string>* dictionary) {
+ dictionary->clear();
+
if (location.Rva == 0) {
- dictionary->clear();
return true;
}
@@ -48,7 +49,8 @@ bool ReadMinidumpSimpleStringDictionary(
}
if (location.DataSize !=
- entry_count * sizeof(MinidumpSimpleStringDictionaryEntry)) {
+ sizeof(MinidumpSimpleStringDictionary) +
+ entry_count * sizeof(MinidumpSimpleStringDictionaryEntry)) {
LOG(ERROR) << "simple_string_dictionary size mismatch";
return false;
}
@@ -73,15 +75,14 @@ bool ReadMinidumpSimpleStringDictionary(
continue;
}
- if (local_dictionary.find(key) != local_dictionary.end()) {
+ if (dictionary->find(key) != dictionary->end()) {
LOG(WARNING) << "duplicate key " << key << ", discarding value " << value;
continue;
}
- local_dictionary.insert(std::make_pair(key, value));
+ dictionary->insert(std::make_pair(key, value));
}
- dictionary->swap(local_dictionary);
return true;
}

Powered by Google App Engine
This is Rietveld 408576698