permission: block FileHandle fsync and fdatasync · nodejs/node@168af4d · GitHub
Skip to content

Commit 168af4d

Browse files
RafaelGSSaduh95
authored andcommitted
permission: block FileHandle fsync and fdatasync
Signed-off-by: RafaelGSS <rafael.nunu@hotmail.com> PR-URL: #65431 Reviewed-By: James M Snell <jasnell@gmail.com>
1 parent 09b4315 commit 168af4d

3 files changed

Lines changed: 47 additions & 0 deletions

File tree

‎doc/api/permissions.md‎

Lines changed: 8 additions & 0 deletions

‎lib/internal/fs/promises.js‎

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1598,6 +1598,9 @@ async function rmdir(path, options) {
15981598
}
15991599

16001600
async function fdatasync(handle) {
1601+
if (permission.isEnabled()) {
1602+
throw new ERR_ACCESS_DENIED('fdatasync API is disabled when Permission Model is enabled.');
1603+
}
16011604
return await PromisePrototypeThen(
16021605
binding.fdatasync(handle.fd, kUsePromises),
16031606
undefined,
@@ -1606,6 +1609,9 @@ async function fdatasync(handle) {
16061609
}
16071610

16081611
async function fsync(handle) {
1612+
if (permission.isEnabled()) {
1613+
throw new ERR_ACCESS_DENIED('fsync API is disabled when Permission Model is enabled.');
1614+
}
16091615
return await PromisePrototypeThen(
16101616
binding.fsync(handle.fd, kUsePromises),
16111617
undefined,
Lines changed: 33 additions & 0 deletions

0 commit comments

Comments
 (0)