Skip to content

fix(git): resolve index-pack memory access out of bounds when cloning pushed packs#1737

Merged
NathanFlurry merged 10 commits into
mainfrom
stack/fix-git-resolve-index-pack-memory-access-out-of-bounds-when-cloning-pushed-packs-lynmozyn
Jul 16, 2026
Merged

fix(git): resolve index-pack memory access out of bounds when cloning pushed packs#1737
NathanFlurry merged 10 commits into
mainfrom
stack/fix-git-resolve-index-pack-memory-access-out-of-bounds-when-cloning-pushed-packs-lynmozyn

Conversation

@NathanFlurry

@NathanFlurry NathanFlurry commented Jul 10, 2026

Copy link
Copy Markdown
Member

No description provided.

…16KiB completes

The WASM runner dropped the SOCK_NONBLOCK bit from socket(2) and returned
EBADF for fcntl(F_GETFL/F_SETFL) on host-net socket fds, so guest libcurl
(git-remote-http, mbedTLS in-guest) ran its TLS socket in blocking mode.
Any smart-HTTP upload larger than one TLS record (16384 bytes plaintext)
deadlocked: curl checks for an early server response mid-upload, and the
blocking recv() waited on a server that was itself waiting for the rest of
the POST body. Also allocate host-net fds below FD_SETSIZE (1024) because
libcurl's select-based Curl_poll/curl_multi_fdset silently drop fds >=
FD_SETSIZE from the pollset, which stalls non-blocking transfers.

- wasm-runner.mjs: parse SOCK_NONBLOCK (0x4000) in net_socket, honor
  O_NONBLOCK via fd_fdstat_get/fd_fdstat_set_flags for host-net sockets,
  and start host-net fds at 600 instead of 4096.
- node_import_cache.rs: bump NODE_IMPORT_CACHE_ASSET_VERSION for the
  runner asset change.
@NathanFlurry
NathanFlurry force-pushed the stack/fix-git-resolve-index-pack-memory-access-out-of-bounds-when-cloning-pushed-packs-lynmozyn branch from 288b968 to 37c9ba6 Compare July 16, 2026 07:40
@NathanFlurry
NathanFlurry force-pushed the stack/fix-execution-honor-sock_nonblock-on-host-net-sockets-so-git-push-16kib-completes-tvswwyws branch from 90ccb60 to 1c712f6 Compare July 16, 2026 07:40
@NathanFlurry
NathanFlurry changed the base branch from stack/fix-execution-honor-sock_nonblock-on-host-net-sockets-so-git-push-16kib-completes-tvswwyws to main July 16, 2026 07:43
@NathanFlurry
NathanFlurry merged commit 37c9ba6 into main Jul 16, 2026
@NathanFlurry
NathanFlurry deleted the stack/fix-git-resolve-index-pack-memory-access-out-of-bounds-when-cloning-pushed-packs-lynmozyn branch July 16, 2026 07:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant