summaryrefslogtreecommitdiff
path: root/src/yuzu/applets/web_browser.cpp
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2021-04-30 14:48:32 -0700
committerGitHub <noreply@github.com>2021-04-30 14:48:32 -0700
commitfa3ffff8ded9ca071908701c911142001cc62f73 (patch)
tree1db00dd99592d3cfb3807606b1d3edbf72a4e1ff /src/yuzu/applets/web_browser.cpp
parentaab57b79754e268c142b8ad7c5db11affe0a4cca (diff)
parent0af182baa2f35d91b8dfaf0b5a8fef06b77dd03a (diff)
Merge pull request #6257 from Morph1984/fix-use-after-free-webapplet
applets/web: Fix a use-after-free when passing in the URL string
Diffstat (limited to 'src/yuzu/applets/web_browser.cpp')
-rw-r--r--src/yuzu/applets/web_browser.cpp19
1 files changed, 9 insertions, 10 deletions
diff --git a/src/yuzu/applets/web_browser.cpp b/src/yuzu/applets/web_browser.cpp
index e482ba029..93e3a4f6f 100644
--- a/src/yuzu/applets/web_browser.cpp
+++ b/src/yuzu/applets/web_browser.cpp
@@ -102,8 +102,8 @@ QtNXWebEngineView::~QtNXWebEngineView() {
StopInputThread();
}
-void QtNXWebEngineView::LoadLocalWebPage(std::string_view main_url,
- std::string_view additional_args) {
+void QtNXWebEngineView::LoadLocalWebPage(const std::string& main_url,
+ const std::string& additional_args) {
is_local = true;
LoadExtractedFonts();
@@ -113,12 +113,12 @@ void QtNXWebEngineView::LoadLocalWebPage(std::string_view main_url,
SetLastURL("http://localhost/");
StartInputThread();
- load(QUrl(QUrl::fromLocalFile(QString::fromStdString(std::string(main_url))).toString() +
- QString::fromStdString(std::string(additional_args))));
+ load(QUrl(QUrl::fromLocalFile(QString::fromStdString(main_url)).toString() +
+ QString::fromStdString(additional_args)));
}
-void QtNXWebEngineView::LoadExternalWebPage(std::string_view main_url,
- std::string_view additional_args) {
+void QtNXWebEngineView::LoadExternalWebPage(const std::string& main_url,
+ const std::string& additional_args) {
is_local = false;
SetUserAgent(UserAgent::WebApplet);
@@ -127,8 +127,7 @@ void QtNXWebEngineView::LoadExternalWebPage(std::string_view main_url,
SetLastURL("http://localhost/");
StartInputThread();
- load(QUrl(QString::fromStdString(std::string(main_url)) +
- QString::fromStdString(std::string(additional_args))));
+ load(QUrl(QString::fromStdString(main_url) + QString::fromStdString(additional_args)));
}
void QtNXWebEngineView::SetUserAgent(UserAgent user_agent) {
@@ -375,7 +374,7 @@ QtWebBrowser::QtWebBrowser(GMainWindow& main_window) {
QtWebBrowser::~QtWebBrowser() = default;
void QtWebBrowser::OpenLocalWebPage(
- std::string_view local_url, std::function<void()> extract_romfs_callback_,
+ const std::string& local_url, std::function<void()> extract_romfs_callback_,
std::function<void(Service::AM::Applets::WebExitReason, std::string)> callback_) const {
extract_romfs_callback = std::move(extract_romfs_callback_);
callback = std::move(callback_);
@@ -390,7 +389,7 @@ void QtWebBrowser::OpenLocalWebPage(
}
void QtWebBrowser::OpenExternalWebPage(
- std::string_view external_url,
+ const std::string& external_url,
std::function<void(Service::AM::Applets::WebExitReason, std::string)> callback_) const {
callback = std::move(callback_);