lynxis lazus has uploaded this change for review. (
https://gerrit.osmocom.org/c/osmo-remsim/+/42133?usp=email )
Change subject: rspro_server: fix releasing timed out clients
......................................................................
rspro_server: fix releasing timed out clients
Fix crash on reconnects of clients if they timed out.
The duplicate check will use conn->peer of the old peer,
but conn->peer is NULL because rspro_client_conn_destroy() never destroys
the connection if conn->peer is valid when rspro_client_conn_destroy() is
called.
void rspro_client_conn_destroy(conn)
{
if (conn->peer) {
peer = conn->peer;
conn->peer = NULL;
osmo_stream_srv_destroy(peer); /* calls sock_closed_cb()
}
[..]
}
int sock_closed_cb(peer)
{
[..]
if (conn->peer) {
osmo_fsm_inst_dispatch(conn->fi, CLNTC_E_TCP_DOWN,
NULL); /* calls in the end rspro_client_conn_destroy() */
}
return 0;
}
Fixes: 8cfe1d808a57 ("Use new osmo_ipa_ka_fsm_inst APIs from libosmo-netif")
Related: OS#6957
Change-Id: I1f7faf5ffdd909362c492ab434b63fa7e79ada95
---
M src/server/rspro_server.c
1 file changed, 0 insertions(+), 1 deletion(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-remsim refs/changes/33/42133/1
diff --git a/src/server/rspro_server.c b/src/server/rspro_server.c
index 4e3666c..5eeb2ae 100644
--- a/src/server/rspro_server.c
+++ b/src/server/rspro_server.c
@@ -923,7 +923,6 @@
/* this will internally call closed_cb() which will dispatch a TCP_DOWN
event */
if (conn->peer) {
struct osmo_stream_srv *peer = conn->peer;
- conn->peer = NULL;
osmo_stream_srv_destroy(peer);
return;
} /* else: destroy initiated by conn->peer's closed_cb(). */
--
To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/42133?usp=email
To unsubscribe, or for help writing mail filters, visit
https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: newchange
Gerrit-Project: osmo-remsim
Gerrit-Branch: master
Gerrit-Change-Id: I1f7faf5ffdd909362c492ab434b63fa7e79ada95
Gerrit-Change-Number: 42133
Gerrit-PatchSet: 1
Gerrit-Owner: lynxis lazus <[email protected]>