Index: chrome/browser/sync_file_system/drive_backend/metadata_database.cc |
diff --git a/chrome/browser/sync_file_system/drive_backend/metadata_database.cc b/chrome/browser/sync_file_system/drive_backend/metadata_database.cc |
index 409f70a6f4126b749c5fc79c9f8d4aae21a3b4da..a7e08bc038f8ea42a25f62241ab5ee8589dc2d12 100644 |
--- a/chrome/browser/sync_file_system/drive_backend/metadata_database.cc |
+++ b/chrome/browser/sync_file_system/drive_backend/metadata_database.cc |
@@ -641,7 +641,10 @@ void MetadataDatabase::UpdateByChangeList( |
if (FindTrackersByFileID(file_id, NULL)) { |
PutFileToBatch(*file, batch.get()); |
- file_by_id_[file_id] = file.release(); |
+ |
+ FileMetadata* file_ptr = file.release(); |
+ std::swap(file_ptr, file_by_id_[file_id]); |
+ delete file_ptr; |
} |
} |