summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaeyeon Jeong <daeyeon.dev@gmail.com>2023-05-11 23:50:44 +0900
committerGitHub <noreply@github.com>2023-05-11 14:50:44 +0000
commit4eec3626f2c2898ec00734e4b0ab70de8c24704c (patch)
tree4051fcb38525ded53d82cb15222b3e989ddb2590
parent78fe139b33fb974efdbcbb032c0ca985ea63ef68 (diff)
downloadnode-new-4eec3626f2c2898ec00734e4b0ab70de8c24704c.tar.gz
permission: resolve reference to absolute path only for fs permission
For other candidate permissions, such as "net" or "env", this patch will pass the reference without resolving it to an absolute path. Signed-off-by: Daeyeon Jeong <daeyeon.dev@gmail.com> PR-URL: https://github.com/nodejs/node/pull/47930 Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com> Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com>
-rw-r--r--lib/internal/process/permission.js7
1 files changed, 5 insertions, 2 deletions
diff --git a/lib/internal/process/permission.js b/lib/internal/process/permission.js
index 4b48493adc..e400dcae9f 100644
--- a/lib/internal/process/permission.js
+++ b/lib/internal/process/permission.js
@@ -2,6 +2,7 @@
const {
ObjectFreeze,
+ StringPrototypeStartsWith,
} = primordials;
const permission = internalBinding('permission');
@@ -24,8 +25,10 @@ module.exports = ObjectFreeze({
if (reference != null) {
// TODO: add support for WHATWG URLs and Uint8Arrays.
validateString(reference, 'reference');
- if (!isAbsolute(reference)) {
- return permission.has(scope, resolve(reference));
+ if (StringPrototypeStartsWith(scope, 'fs')) {
+ if (!isAbsolute(reference)) {
+ reference = resolve(reference);
+ }
}
}