diff --git a/lib/internal/fs/promises.js b/lib/internal/fs/promises.js index d653724474f314..31eaeef2846216 100644 --- a/lib/internal/fs/promises.js +++ b/lib/internal/fs/promises.js @@ -305,7 +305,8 @@ async function rename(oldPath, newPath) { } async function truncate(path, len = 0) { - return ftruncate(await open(path, 'r+'), len); + const fd = await open(path, 'r+'); + return ftruncate(fd, len).finally(fd.close.bind(fd)); } async function ftruncate(handle, len = 0) {