diff --git a/src/node_wasi.cc b/src/node_wasi.cc index c4ead7f55af8dc..2f2daa2921dd7b 100644 --- a/src/node_wasi.cc +++ b/src/node_wasi.cc @@ -1455,21 +1455,21 @@ void WASI::PollOneoff(const FunctionCallbackInfo& args) { } for (uint32_t i = 0; i < nsubscriptions; ++i) { - uvwasi_subscription_t sub = in[i]; - wasi->readUInt64(memory, &sub.userdata, in_ptr); - wasi->readUInt8(memory, &sub.type, in_ptr + 8); - - if (sub.type == UVWASI_EVENTTYPE_CLOCK) { - wasi->readUInt32(memory, &sub.u.clock.clock_id, in_ptr + 16); - wasi->readUInt64(memory, &sub.u.clock.timeout, in_ptr + 24); - wasi->readUInt64(memory, &sub.u.clock.precision, in_ptr + 32); - wasi->readUInt16(memory, &sub.u.clock.flags, in_ptr + 40); - } else if (sub.type == UVWASI_EVENTTYPE_FD_READ || - sub.type == UVWASI_EVENTTYPE_FD_WRITE) { - wasi->readUInt32(memory, &sub.u.fd_readwrite.fd, in_ptr + 16); + uvwasi_subscription_t* sub = &in[i]; + wasi->readUInt64(memory, &sub->userdata, in_ptr); + wasi->readUInt8(memory, &sub->type, in_ptr + 8); + + if (sub->type == UVWASI_EVENTTYPE_CLOCK) { + wasi->readUInt32(memory, &sub->u.clock.clock_id, in_ptr + 16); + wasi->readUInt64(memory, &sub->u.clock.timeout, in_ptr + 24); + wasi->readUInt64(memory, &sub->u.clock.precision, in_ptr + 32); + wasi->readUInt16(memory, &sub->u.clock.flags, in_ptr + 40); + } else if (sub->type == UVWASI_EVENTTYPE_FD_READ || + sub->type == UVWASI_EVENTTYPE_FD_WRITE) { + wasi->readUInt32(memory, &sub->u.fd_readwrite.fd, in_ptr + 16); } - in_ptr += 56; + in_ptr += 48; } size_t nevents;