Skip to content

Disable caching in ArrayBuffer#611

Closed
tniessen wants to merge 2 commits into
nodejs:masterfrom
tniessen:disable-caching-in-arraybuffer
Closed

Disable caching in ArrayBuffer#611
tniessen wants to merge 2 commits into
nodejs:masterfrom
tniessen:disable-caching-in-arraybuffer

Conversation

@tniessen

@tniessen tniessen commented Nov 28, 2019

Copy link
Copy Markdown
Member

Caching the data pointer and the byteLength in the ArrayBuffer class causes it to behave incorrectly when the buffer is detached, as demonstrated by the test case. The current behavior is dangerous since it depends on whether the Napi::Value was cast to an Napi::ArrayBuffer before or after being detached.

@tniessen tniessen force-pushed the disable-caching-in-arraybuffer branch from fbf3354 to 6f1cd3e Compare November 28, 2019 14:02
Caching the data pointer and the byteLength in the ArrayBuffer class
causes it to behave incorrectly when the buffer is detached.
@tniessen tniessen force-pushed the disable-caching-in-arraybuffer branch from 6f1cd3e to 25686d8 Compare November 28, 2019 14:53

@NickNaso NickNaso left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@tniessen good catch. Could I ask you to add a forward declaration for ArrayBuffer in napi.h and place it after Array?
Thanks for this contribution.

@mhdawson mhdawson left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM seems reasonable to me.

@NickNaso NickNaso left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@tniessen Thanks

@tniessen

Copy link
Copy Markdown
Member Author

@NickNaso Done. May I ask why that is necessary?

@tniessen tniessen added the bug label Dec 1, 2019
@gabrielschulhof

gabrielschulhof commented Dec 14, 2019

Copy link
Copy Markdown
Contributor

gabrielschulhof pushed a commit that referenced this pull request Dec 14, 2019
Caching the data pointer and the byteLength in the ArrayBuffer class
causes it to behave incorrectly when the buffer is detached.

PR-URL: #611
Reviewed-By: Nicola Del Gobbo <nicoladelgobbo@gmail.com>
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
@gabrielschulhof

Copy link
Copy Markdown
Contributor

Landed in b72f1d6.

@tniessen tniessen deleted the disable-caching-in-arraybuffer branch January 23, 2020 03:47
kevindavies8 added a commit to kevindavies8/node-addon-api-Develop that referenced this pull request Aug 24, 2022
Caching the data pointer and the byteLength in the ArrayBuffer class
causes it to behave incorrectly when the buffer is detached.

PR-URL: nodejs/node-addon-api#611
Reviewed-By: Nicola Del Gobbo <nicoladelgobbo@gmail.com>
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
Marlyfleitas added a commit to Marlyfleitas/node-api-addon-Development that referenced this pull request Aug 26, 2022
Caching the data pointer and the byteLength in the ArrayBuffer class
causes it to behave incorrectly when the buffer is detached.

PR-URL: nodejs/node-addon-api#611
Reviewed-By: Nicola Del Gobbo <nicoladelgobbo@gmail.com>
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
wroy7860 added a commit to wroy7860/addon-api-benchmark-node that referenced this pull request Sep 19, 2022
Caching the data pointer and the byteLength in the ArrayBuffer class
causes it to behave incorrectly when the buffer is detached.

PR-URL: nodejs/node-addon-api#611
Reviewed-By: Nicola Del Gobbo <nicoladelgobbo@gmail.com>
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
johnfrench3 pushed a commit to johnfrench3/node-addon-api-git that referenced this pull request Aug 11, 2023
Caching the data pointer and the byteLength in the ArrayBuffer class
causes it to behave incorrectly when the buffer is detached.

PR-URL: nodejs/node-addon-api#611
Reviewed-By: Nicola Del Gobbo <nicoladelgobbo@gmail.com>
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants