diff options
author | Daeyeon Jeong <daeyeon.dev@gmail.com> | 2023-05-11 23:50:44 +0900 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-05-11 14:50:44 +0000 |
commit | 4eec3626f2c2898ec00734e4b0ab70de8c24704c (patch) | |
tree | 4051fcb38525ded53d82cb15222b3e989ddb2590 | |
parent | 78fe139b33fb974efdbcbb032c0ca985ea63ef68 (diff) | |
download | node-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.js | 7 |
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); + } } } |