From 12e8fc5105fb61dd74cf5e0f829ff14fd1de6914 Mon Sep 17 00:00:00 2001
From: Pavel Tumakaev
Date: Mon, 15 Nov 2021 22:57:28 +0300
Subject: [PATCH] [sailfishos][embedlite] Prevent invalid manifest location
from being added. Fixes JB#56395
---
embedding/embedlite/EmbedLiteApp.cpp | 7 ++++++-
embedding/embedlite/embedshared/EmbedLiteAppBaseChild.cpp | 2 +-
2 files changed, 7 insertions(+), 2 deletions(-)
diff --git a/embedding/embedlite/EmbedLiteApp.cpp b/embedding/embedlite/EmbedLiteApp.cpp
index ecb34dbd60075..b945ee202170f 100644
--- a/embedding/embedlite/EmbedLiteApp.cpp
+++ b/embedding/embedlite/EmbedLiteApp.cpp
@@ -271,7 +271,12 @@ EmbedLiteApp::StartChildThread()
nsCOMPtr f;
NS_NewNativeLocalFile(sComponentDirs[i], true,
getter_AddRefs(f));
- XRE_AddManifestLocation(NS_APP_LOCATION, f);
+ if (f) {
+ LOGT("Loading manifest: %s", sComponentDirs[i].get());
+ XRE_AddManifestLocation(NS_APP_LOCATION, f);
+ } else {
+ NS_ERROR(nsPrintfCString("Failed to create nsIFile for manifest location: %s", sComponentDirs[i].get()).get());
+ }
}
GeckoLoader::InitEmbedding(mProfilePath);
diff --git a/embedding/embedlite/embedshared/EmbedLiteAppBaseChild.cpp b/embedding/embedlite/embedshared/EmbedLiteAppBaseChild.cpp
index 01d13963628b1..495120d68735d 100644
--- a/embedding/embedlite/embedshared/EmbedLiteAppBaseChild.cpp
+++ b/embedding/embedlite/embedshared/EmbedLiteAppBaseChild.cpp
@@ -291,7 +291,7 @@ mozilla::ipc::IPCResult EmbedLiteAppBaseChild::RecvLoadComponentManifest(const n
LOGT("Loading manifest: %s", manifest.get());
XRE_AddManifestLocation(NS_APP_LOCATION, f);
} else {
- NS_ERROR("Failed to create nsIFile for manifest location");
+ NS_ERROR(nsPrintfCString("Failed to create nsIFile for manifest location: %s", manifest.get()).get());
}
return IPC_OK();
}