From af86625a0580561aaac460c1cefa2b8e8a17482a Mon Sep 17 00:00:00 2001 From: Daeyeon Jeong Date: Thu, 11 May 2023 23:50:44 +0900 Subject: 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 PR-URL: https://github.com/nodejs/node/pull/47930 Reviewed-By: Rafael Gonzaga Reviewed-By: Marco Ippolito --- lib/internal/process/permission.js | 7 +++++-- 1 file 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); + } } } -- cgit v1.2.1