diff options
| author | Gleb Smirnoff <glebius@FreeBSD.org> | 2026-09-07 19:09:40 +0000 |
|---|---|---|
| committer | Gleb Smirnoff <glebius@FreeBSD.org> | 2026-09-07 19:09:40 +0000 |
| commit | b712bb84a7a7dc229324a95170b8a77e0d9c5bec (patch) | |
| tree | 68233af26f39d5a365619888d60be205d8f92555 /subversion/libsvn_client/util.c | |
| parent | 2e16d37e275fa6bcd0494dbc48868a979404ce56 (diff) | |
The syncache entry holds one TCPS_SYN_RECEIVED count that normally is
transferred to the the newborn tp. Upon failure syncache_socket() shall
not use TCPSTATES_INC/TCPSTATES_DEC (see 5050df3f4aa4 why). But when
syncache_socket() fails in_pcbconnect(), it calls tcp_discardcb() to free
resources that were just allocated by tcp_newtcpcb() and this
tcp_discardcb() would do TCPSTATES_DEC(tp->t_state). The t_state is
TCPS_CLOSED at this point.
Make tcp_discardcb() symmetrical to tcp_newtcpcb() - not responsible for
the TCPSTATES. Make the caller responsible for state count book keeping.
Reviewed by: tuexen
Fixes: 3703e1a73e0e0367c04f47f793e46495e46e647b
Differential Revision: https://reviews.freebsd.org/D59325
Diffstat (limited to 'subversion/libsvn_client/util.c')
0 files changed, 0 insertions, 0 deletions
