net: guard remaining free-function g_connman dereferences (AddressCurrentlyConnected) (follow-up to #2558)
#3,068 opened on Jun 15, 2026
Repository metrics
- Stars
- (575 stars)
- PR merge metrics
- (Avg merge 5d 8h) (100 merged PRs in 30d)
Description
Follow-up to #2558.
Gap
Most external g_connman consumers use the established if (g_connman) guard (covering the early-startup / shutdown-teardown window where the unique_ptr is null). One free function still dereferences it unguarded:
AddressCurrentlyConnected(const CService& addr)—src/net.cpp:337— callsg_connman->GetAddrMan().Connected(addr)with no guard. Reachable during the shutdown window afterg_connman.reset().
Fix
Add the if (g_connman) guard (or route the call through a CConnman member). While here, audit for any other unguarded free-function g_connman dereferences.
Severity
LOW — shutdown-window only; the window is narrow. Good-first-issue-sized hardening.
Note: the other site flagged in the stack review (ConnectNode) is already resolved — it was promoted to a CConnman member in the #2558 stack, so it no longer dereferences g_connman as a free function.