There was an error while loading. Please reload this page.
1 parent ca7a27b commit 414f602Copy full SHA for 414f602
2 files changed
lib/internal/ffi/fast-api.js
@@ -297,7 +297,7 @@ function wrapWithRawPointerConversions(rawFn, argumentTypes, _owner) {
297
try {
298
return rawFn(c0 ?
299
convertFastArg(t0, a0, rawFn, stringState, 0) : a0,
300
- c1 ? convertFastArg(t1, a1, rawFn, stringState, 1) : a1);
+ c1 ? convertFastArg(t1, a1, rawFn, stringState, 1) : a1);
301
} finally {
302
if (stringCall) exitStringConversion(stringState);
303
}
@@ -320,8 +320,8 @@ function wrapWithRawPointerConversions(rawFn, argumentTypes, _owner) {
320
321
322
323
- c1 ? convertFastArg(t1, a1, rawFn, stringState, 1) : a1,
324
- c2 ? convertFastArg(t2, a2, rawFn, stringState, 2) : a2);
+ c1 ? convertFastArg(t1, a1, rawFn, stringState, 1) : a1,
+ c2 ? convertFastArg(t2, a2, rawFn, stringState, 2) : a2);
325
326
327
test/ffi/test-ffi-fast-buffer.js
@@ -70,7 +70,10 @@ test('fast FFI buffer arguments reject invalid values', () => {
70
71
});
72
73
-test('fast FFI string buffers survive reentrant callbacks', () => {
+test('fast FFI string buffers survive reentrant callbacks', {
74
+ // Bundled libffi callbacks crash on SmartOS.
75
+ skip: common.isSunOS,
76
+}, () => {
77
const { lib, functions } = ffi.dlopen(libraryPath, {
78
safe_strlen: { arguments: ['string'], return: 'i32' },
79
string_survives_callback: {
0 commit comments