emscripten-core / emscripten-core/emscripten
websocket_to_posix_socket: Negative length when use getsockname
- Dominant language
- C++
- Stars
- 27.6k
- Forks
- 3.6k
- Avg merge
- 1d 1h
- Merged PRs (30d)
- 105
Description
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: https://github.com/emscripten-core/emscripten/blob/00eae746d233099faccc299dd3abc86ae834f837/system/lib/websocket/websocket_to_posix_socket.c#L495 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
```
Contributor guide
Assessment
This issue has not been assessed yet.