summaryrefslogtreecommitdiff
path: root/runtime/js/10_permissions.js
diff options
context:
space:
mode:
authorNayeem Rahman <nayeemrmn99@gmail.com>2022-09-16 12:46:38 +0100
committerGitHub <noreply@github.com>2022-09-16 20:46:38 +0900
commit38280990dae50f19c4e52eac5de2054e42f455e4 (patch)
treea5890736533b0175e5b75b7cf2b2baed066b8c17 /runtime/js/10_permissions.js
parentee208c1b20d5e51fa35583fb698930d70f1e5e8b (diff)
fix(runtime): fix permission status cache keys (#15899)
Diffstat (limited to 'runtime/js/10_permissions.js')
-rw-r--r--runtime/js/10_permissions.js12
1 files changed, 9 insertions, 3 deletions
diff --git a/runtime/js/10_permissions.js b/runtime/js/10_permissions.js
index af66c9d2e..2573816df 100644
--- a/runtime/js/10_permissions.js
+++ b/runtime/js/10_permissions.js
@@ -122,12 +122,18 @@
function cache(desc, state) {
let { name: key } = desc;
if (
- (desc.name === "read" || desc.name === "write") &&
+ (desc.name === "read" || desc.name === "write" || desc.name === "ffi") &&
ReflectHas(desc, "path")
) {
- key += `-${desc.path}`;
+ key += `-${desc.path}&`;
} else if (desc.name === "net" && desc.host) {
- key += `-${desc.host}`;
+ key += `-${desc.host}&`;
+ } else if (desc.name === "run" && desc.command) {
+ key += `-${desc.command}&`;
+ } else if (desc.name === "env" && desc.variable) {
+ key += `-${desc.variable}&`;
+ } else {
+ key += "$";
}
if (MapPrototypeHas(statusCache, key)) {
const status = MapPrototypeGet(statusCache, key);