Skip to content

Own RSP socket lifetime across remote adapters for R2 - #1210

Draft
xusheng6 wants to merge 1 commit into
devfrom
test_corellium_socket_lifetime
Draft

xusheng6 wants to merge 1 commit into
devfrom
test_corellium_socket_lifetime

Conversation

@xusheng6

@xusheng6 xusheng6 commented Sep 22, 2026

Copy link
Copy Markdown
Member

Summary

Fixes #1197 for R2 and applies the same socket ownership fix to GDB and Esreven, which used the same raw-pointer connection pattern. The adapter and RSP connector share socket ownership; shutdown is safe before connection and interrupts retries.

Validation

Unfixed dev crashed under ASan when Corellium Quit() ran before Connect(), at Socket::Kill() on an uninitialized pointer. The full Binary Ninja ASan build of this branch passed 20 Corellium pre-connect quits, plus 10 pre-connect and 10 connection-cancellation cycles for GDB and both Esreven connection paths. Live remote sessions were not exercised.

@xusheng6
xusheng6 marked this pull request as draft September 22, 2026 16:38
@xusheng6
xusheng6 force-pushed the test_corellium_socket_lifetime branch from 10a34e8 to c6a3f24 Compare September 22, 2026 19:07
@xusheng6 xusheng6 changed the title Own Corellium socket lifetime Own Corellium socket lifetime for R2 Sep 22, 2026
@xusheng6
xusheng6 changed the base branch from test_corellium_null_socket_r2 to dev September 22, 2026 19:07
@xusheng6
xusheng6 force-pushed the test_corellium_socket_lifetime branch from c6a3f24 to e871500 Compare September 22, 2026 19:19
@xusheng6 xusheng6 changed the title Own Corellium socket lifetime for R2 Own RSP socket lifetime across remote adapters for R2 Sep 22, 2026
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.

BinaryNinjaDebugger::Socket::Kill

1 participant