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-01-29 15:15:12 +0000
commit6c2cf4c457138e887f374157dd4bbeddc6ec567c (patch)
treeba55e8e282c1ecb2cff130d327eb09459c59cb85
parent35b6d2c483898b42d87fcc390ca92aef2f6a6b71 (diff)
downloadqtwebengine-chromium-6c2cf4c457138e887f374157dd4bbeddc6ec567c.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 8bda8b8e748..36436c2d9f1 100644
--- a/chromium/content/browser/data_url_loader_factory.cc
+++ b/chromium/content/browser/data_url_loader_factory.cc
@@ -83,7 +83,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 =
@@ -95,7 +95,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(