[Service] StopService when appid is empty 00/264500/1
authorliwei <wei90727.li@samsung.com>
Thu, 23 Sep 2021 08:31:56 +0000 (16:31 +0800)
committerliwei <wei90727.li@samsung.com>
Thu, 23 Sep 2021 08:31:56 +0000 (16:31 +0800)
In low memory sceanrio, start()->stop()->getpkgid()->..,
then appid will be empty when get pkgid, it will make
abnormal of smack label / app path / ..., so to avoid
this issue, if appid is empty, we will stop service.

Change-Id: I2801c2cf99dbf1b63bcd1702d10b9c9990f89ada
Signed-off-by: liwei <wei90727.li@samsung.com>
wrt_app/service/service_runner.ts

index e712b03..1955c53 100644 (file)
@@ -70,6 +70,11 @@ export function start(id: string, filename: string) {
   let ids = id.split(':');
   let serviceId = ids[0];
   let packageId = wrt.getPackageId(id);
+  if (!packageId) {
+    console.debug(`${id}'s pkgid is empty, so stop service`);
+    requestStopService(id);
+    return;
+  }
   wrt.setServiceAppId(id);
   wrt.security?.dropThreadPrivilege(packageId, serviceId);