Skip to content

Guard TokenClientHandler.getRemoteAddress against unresolved remote address#3632

Open
vasiliy-mikhailov wants to merge 1 commit into
alibaba:1.8from
vasiliy-mikhailov:fix-tokenclienthandler-unresolved-address
Open

Guard TokenClientHandler.getRemoteAddress against unresolved remote address#3632
vasiliy-mikhailov wants to merge 1 commit into
alibaba:1.8from
vasiliy-mikhailov:fix-tokenclienthandler-unresolved-address

Conversation

@vasiliy-mikhailov

@vasiliy-mikhailov vasiliy-mikhailov commented Jun 25, 2026

Copy link
Copy Markdown

TokenClientHandler.getRemoteAddress does:

inetAddress.getAddress().getHostAddress()

For an unresolved InetSocketAddress (the remote address never resolved, or createUnresolved(...)), getAddress() returns null, so this throws NullPointerException. It is reached from channelUnregistered, which logs the remote address during channel cleanup, so a channel whose remote address is unresolved NPEs on unregister.

This falls back to getHostName() when getAddress() is null. Adds a test that fails before the change (NPE) and passes after.

AI assistance disclosure

This contribution was produced with the help of an AI pipeline. The pipeline processed a large amount of source code to surface suspected bugs, reproduced a subset of them with failing unit tests and generated candidate fixes, and prepared pull requests from the ones that held up. Each PR was then reviewed and verified by a human before being opened: the fix and test were checked by hand and the test was confirmed to fail before the change and pass after.

…teAddress

getRemoteAddress does inetAddress.getAddress().getHostAddress(), which throws
NullPointerException when the channel's remote address is an unresolved
InetSocketAddress (getAddress() returns null). It is reached from
channelUnregistered, which logs getRemoteAddress(ctx) during channel cleanup,
so a channel with an unresolved remote address NPEs on unregister.

Fall back to getHostName() when getAddress() is null. Adds a regression test.
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