Skip to content

ffi: reject detached ArrayBufferViews - #65086

Merged
nodejs-github-bot merged 1 commit into
nodejs:mainfrom
trivikr:ffi-export-arraybufferview-detached-handling
Aug 13, 2026
Merged

ffi: reject detached ArrayBufferViews#65086
nodejs-github-bot merged 1 commit into
nodejs:mainfrom
trivikr:ffi-export-arraybufferview-detached-handling

Conversation

@trivikr

@trivikr trivikr commented Aug 6, 2026

Copy link
Copy Markdown
Member

Fixes: #65085

Detached ArrayBuffers were rejected with ERR_INVALID_ARG_VALUE, but detached views were not: typed arrays exported zero bytes and DataViews threw a bare TypeError from byteLength.

Track detachment in ArrayBufferViewContents::Read() and skip the JS length check for detached buffers, so every detached input is rejected.


Assisted-by: codex:gpt-5.6-sol

@nodejs-github-bot

Copy link
Copy Markdown
Collaborator

Review requested:

  • @nodejs/ffi

@nodejs-github-bot nodejs-github-bot added c++ Issues and PRs that require attention from people who are familiar with C++. ffi Issues and PRs related to experimental Foreign Function Interface support. needs-ci PRs that need a full CI run. labels Aug 6, 2026
@trivikr
trivikr force-pushed the ffi-export-arraybufferview-detached-handling branch 2 times, most recently from 6a14197 to ebb66f2 Compare August 7, 2026 02:59
@trivikr trivikr added the request-ci Add this label to start a Jenkins CI on a PR. label Aug 7, 2026
@codecov

codecov Bot commented Aug 7, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 90.33%. Comparing base (175cd52) to head (2b7d621).
⚠️ Report is 30 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main   #65086      +/-   ##
==========================================
- Coverage   92.06%   90.33%   -1.73%     
==========================================
  Files         399      760     +361     
  Lines      176328   248541   +72213     
  Branches    27212    46907   +19695     
==========================================
+ Hits       162328   224513   +62185     
- Misses      13689    15464    +1775     
- Partials      311     8564    +8253     
Files with missing lines Coverage Δ
lib/ffi.js 94.77% <100.00%> (ø)
src/util-inl.h 83.88% <100.00%> (ø)

... and 491 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

MILLERMARRU

This comment was marked as low quality.

@trivikr trivikr removed the request-ci Add this label to start a Jenkins CI on a PR. label Aug 10, 2026
@nodejs-github-bot

This comment was marked as outdated.

Detached ArrayBuffers were rejected with ERR_INVALID_ARG_VALUE, but
detached views were not: typed arrays exported zero bytes and DataViews
threw a bare TypeError from byteLength.

Track detachment in ArrayBufferViewContents::Read() and skip the JS
length check for detached buffers, so every detached input is rejected.

Signed-off-by: Kamat, Trivikram <16024985+trivikr@users.noreply.github.com>
Assisted-by: codex:gpt-5.6-sol
@trivikr
trivikr force-pushed the ffi-export-arraybufferview-detached-handling branch from ebb66f2 to 2b7d621 Compare August 11, 2026 15:25
@trivikr trivikr added the commit-queue Add this label to land a pull request using GitHub Actions. label Aug 12, 2026
@nodejs-github-bot nodejs-github-bot added commit-queue-failed An error occurred while landing this pull request using GitHub Actions. and removed commit-queue Add this label to land a pull request using GitHub Actions. labels Aug 12, 2026
@nodejs-github-bot

Copy link
Copy Markdown
Collaborator
Commit Queue failed
- Loading data for nodejs/node/pull/65086
✔  Done loading data for nodejs/node/pull/65086
----------------------------------- PR info ------------------------------------
Title      ffi: reject detached ArrayBufferViews (#65086)
   ⚠  Could not retrieve the email or name of the PR author's from user's GitHub profile!
Branch     trivikr:ffi-export-arraybufferview-detached-handling -> nodejs:main
Labels     c++, needs-ci, commit-queue, ffi
Commits    1
 - ffi: reject detached ArrayBufferViews
Committers 1
 - Kamat, Trivikram <16024985+trivikr@users.noreply.github.com>
PR-URL: https://github.com/nodejs/node/pull/65086
Fixes: https://github.com/nodejs/node/issues/65085
Reviewed-By: Paolo Insogna <paolo@cowtech.it>
------------------------------ Generated metadata ------------------------------
PR-URL: https://github.com/nodejs/node/pull/65086
Fixes: https://github.com/nodejs/node/issues/65085
Reviewed-By: Paolo Insogna <paolo@cowtech.it>
--------------------------------------------------------------------------------
   ℹ  This PR was created on Thu, 06 Aug 2026 15:16:59 GMT
   ✔  Approvals: 1
   ✔  - Paolo Insogna (@ShogunPanda) (TSC): https://github.com/nodejs/node/pull/65086#pullrequestreview-4914088434
   ✘  This PR needs to wait 24 more hours to land (or 0 minutes if there is one more approval)
   ✔  Last GitHub CI successful
   ℹ  Last Full PR CI on 2026-08-10T20:56:16Z: https://ci.nodejs.org/job/node-test-pull-request/75752/
   ⚠  Commits were pushed after the last Full PR CI run:
   ⚠  - ffi: reject detached ArrayBufferViews
- Querying data for job/node-test-pull-request/75752/
✔  Build data downloaded
   ✔  Last Jenkins CI successful
--------------------------------------------------------------------------------
   ✔  Aborted `git node land` session in /home/runner/work/node/node/.ncu
https://github.com/nodejs/node/actions/runs/31614572726

@trivikr trivikr added request-ci Add this label to start a Jenkins CI on a PR. and removed commit-queue-failed An error occurred while landing this pull request using GitHub Actions. labels Aug 12, 2026
@github-actions github-actions Bot removed the request-ci Add this label to start a Jenkins CI on a PR. label Aug 12, 2026
@nodejs-github-bot

This comment was marked as outdated.

@nodejs-github-bot

Copy link
Copy Markdown
Collaborator

@trivikr trivikr added the commit-queue Add this label to land a pull request using GitHub Actions. label Aug 13, 2026
@nodejs-github-bot
nodejs-github-bot merged commit c47ad66 into nodejs:main Aug 13, 2026
79 checks passed
@nodejs-github-bot

Copy link
Copy Markdown
Collaborator

Landed in c47ad66

@nodejs-github-bot nodejs-github-bot removed the commit-queue Add this label to land a pull request using GitHub Actions. label Aug 13, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

c++ Issues and PRs that require attention from people who are familiar with C++. ffi Issues and PRs related to experimental Foreign Function Interface support. needs-ci PRs that need a full CI run.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

ffi: exportArrayBufferView() inconsistently handles detached views

4 participants