Index: components/sync/engine_impl/loopback_server/loopback_server.cc |
diff --git a/components/sync/engine_impl/loopback_server/loopback_server.cc b/components/sync/engine_impl/loopback_server/loopback_server.cc |
index ef701df388764d1e214a5a27655260a578f109eb..88eb7ca095bbca0a13f7be92539401af5f6ad69f 100644 |
--- a/components/sync/engine_impl/loopback_server/loopback_server.cc |
+++ b/components/sync/engine_impl/loopback_server/loopback_server.cc |
@@ -523,6 +523,10 @@ bool LoopbackServer::SaveStateToFile(const base::FilePath& filename) const { |
SerializeState(&proto); |
std::string serialized = proto.SerializeAsString(); |
+ if (!base::CreateDirectory(filename.DirName())) { |
+ LOG(ERROR) << "Loopback sync could not create the storage directory."; |
+ return false; |
+ } |
int result = base::WriteFile(filename, serialized.data(), serialized.size()); |
return result == static_cast<int>(serialized.size()); |
} |