summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@qt.io>2020-01-29 16:10:05 +0100
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2020-02-03 13:48:00 +0100
commit8ad6e9dea9d92aa9ee7e636118e13062c4ddf011 (patch)
tree66ee34452fac6bbfa1880f9d78a89624467d448c
parent5d96bbdec2be60b300f38853560b31937967d663 (diff)
downloadqtwebengine-chromium-8ad6e9dea9d92aa9ee7e636118e13062c4ddf011.tar.gz
Fix access after move
We can't both access and move an object in the same expression. This is undefined behavior and causes crashes with gcc 5. Change-Id: I916927c27c7dec0f15620dfd22c795267a6bddc0 Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
-rw-r--r--chromium/content/browser/data_url_loader_factory.cc4
1 files changed, 2 insertions, 2 deletions
diff --git a/chromium/content/browser/data_url_loader_factory.cc b/chromium/content/browser/data_url_loader_factory.cc
index 79f80147432..52723f88d07 100644
--- a/chromium/content/browser/data_url_loader_factory.cc
+++ b/chromium/content/browser/data_url_loader_factory.cc
@@ -84,7 +84,7 @@ void DataURLLoaderFactory::CreateLoaderAndStart(
client->OnStartLoadingResponseBody(std::move(consumer));
- auto write_data = std::make_unique<WriteData>();
+ auto write_data = new WriteData();
write_data->client = std::move(client);
write_data->data = std::move(data);
write_data->producer =
@@ -96,7 +96,7 @@ void DataURLLoaderFactory::CreateLoaderAndStart(
std::make_unique<mojo::StringDataSource>(
string_piece, mojo::StringDataSource::AsyncWritingMode::
STRING_STAYS_VALID_UNTIL_COMPLETION),
- base::BindOnce(OnWrite, std::move(write_data)));
+ base::BindOnce(OnWrite, std::unique_ptr<WriteData>(write_data)));
}
void DataURLLoaderFactory::Clone(