gridcoin-community/Gridcoin-Research

net: guard remaining free-function g_connman dereferences (AddressCurrentlyConnected) (follow-up to #2558)

Closed

#3,068 opened on Jun 15, 2026

 (0 comments) (0 reactions) (0 assignees)HTML (179 forks)batch import
enhancementgood first issue

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 — calls g_connman->GetAddrMan().Connected(addr) with no guard. Reachable during the shutdown window after g_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.

Contributor guide