Skip to content

websocket_to_posix_socket: Negative length when use getsockname  #20691

@djytw

Description

@djytw

When use full POSIX Sockets over WebSocket and call getsockname(), data length is negative.

js side:

w:0,t:0x0014c9b4: emscripten_websocket_send_binary(socketId=1,binaryData=1443792,dataLength=-224), data: -224 bytes of binary:, ""

proxy server side:

Received too small sockets call message! size: 0 bytes, expected at least 8 bytes

likely caused by here:

emscripten_websocket_send_binary(bridgeSocket, &d, sizeof(d) + *address_len - MAX_SOCKADDR_SIZE);
where header (16) + address_len(16) - MAX_SOCKADDR_SIZE(256) = -224

Version of emscripten/emsdk:

emcc (Emscripten gcc/clang-like replacement + linker emulating GNU ld) 3.1.48 (e967e20b4727956a30592165a3c1cde5c67fa0a8)
clang version 18.0.0 (https://github.com/llvm/llvm-project a54545ba6514802178cf7cf1c1dd9f7efbf3cde7)
Target: wasm32-unknown-emscripten
Thread model: posix

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions