Skip to content

ffi: define function pointer property as own data property - #67170

Open
trivikr wants to merge 1 commit into
nodejs:mainfrom
trivikr:ffi-non-writable-pointer
Open

trivikr wants to merge 1 commit into
nodejs:mainfrom
trivikr:ffi-non-writable-pointer

Conversation

@trivikr

@trivikr trivikr commented Nov 1, 2026

Copy link
Copy Markdown
Member

Fixes: #67169

CreateFunction assigned pointer with Object::Set, which walks Function.prototype. A non-writable inherited pointer turned the store into a silent no-op, so the function reported the inherited value instead of its native address. Use CreateDataProperty.


Assisted-by: claude:opus-5.5

`CreateFunction` assigned `pointer` with `Object::Set`, which walks
`Function.prototype`. A non-writable inherited `pointer` turned the
store into a silent no-op, so the function reported the inherited
value instead of its native address. Use `CreateDataProperty`.

Signed-off-by: Trivikram Kamat <16024985+trivikr@users.noreply.github.com>
Assisted-by: claude:opus-5.5
@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++. needs-ci PRs that need a full CI run. labels Nov 1, 2026
@trivikr trivikr added ffi Issues and PRs related to experimental Foreign Function Interface support. request-ci Add this label to start a Jenkins CI on a PR. Only starts once the PR has an approving review. labels Nov 1, 2026
@codecov

codecov Bot commented Nov 1, 2026 •

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 0% with 1 line in your changes missing coverage. Please review.
✅ Project coverage is 90.68%. Comparing base (e97c75e) to head (63e5cfa).
⚠️ Report is 6 commits behind head on main.

Files with missing lines Patch % Lines
src/node_ffi.cc 0.00% 0 Missing and 1 partial ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main   #67170      +/-   ##
==========================================
- Coverage   90.68%   90.68%   -0.01%     
==========================================
  Files         797      797              
  Lines      278790   278790              
  Branches    53617    53607      -10     
==========================================
- Hits       252834   252809      -25     
- Misses      16303    16345      +42     
+ Partials     9653     9636      -17     
Files with missing lines Coverage Δ
src/node_ffi.cc 73.14% <0.00%> (ø)

... and 36 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.

@trivikr trivikr added the author ready PRs with CI started, the required approvals, and no outstanding review comments. label Nov 1, 2026
@github-actions github-actions Bot removed the request-ci Add this label to start a Jenkins CI on a PR. Only starts once the PR has an approving review. label Nov 1, 2026
@nodejs-github-bot

Copy link
Copy Markdown
Collaborator

@trivikr trivikr added the commit-queue PRs queued for automated landing through the Commit Queue. label Nov 1, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

author ready PRs with CI started, the required approvals, and no outstanding review comments. c++ Issues and PRs that require attention from people who are familiar with C++. commit-queue PRs queued for automated landing through the Commit Queue. 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: function .pointer is lost when Function.prototype.pointer is non-writable

4 participants