net: guard remaining free-function g_connman dereferences (AddressCurrentlyConnected) (follow-up to #2558)
#3068 aperta il 15 giu 2026
Metriche repository
- Star
- (575 stelle)
- Metriche merge PR
- (Merge medio 5g 8h) (100 PR mergiate in 30 g)
Descrizione
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.