[sr-dev] [kamailio/kamailio] msrp: fix some tcpconn where memory was never cleaned up (PR #2890)
Daniel-Constantin Mierla
notifications at github.com
Thu Oct 21 11:43:02 CEST 2021
@miconda commented on this pull request.
> @@ -169,12 +169,16 @@ int msrp_relay(msrp_frame_t *mf)
wsev.len = p - reqbuf;
wsev.id = con->id;
evp.data = (void *)&wsev;
+ tcpconn_put(con);
return sr_event_exec(SREV_TCP_WS_FRAME_OUT, &evp);
}
I think the code has to be changed to do the `tcpconn_put(con)` after `sr_event_exec(SREV_TCP_WS_FRAME_OUT, &evp);`. Declare `int ret;` at the beginning of the function and then:
```
ret = sr_event_exec(SREV_TCP_WS_FRAME_OUT, &evp);
tcpconn_put(con);
return ret;
```
I haven't read the code thoroughly, but I expect that if the connection is released before event execution, then it is a risk that the connection is destroyed while executing the event callbacks.
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/pull/2890#pullrequestreview-785455894
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.kamailio.org/pipermail/sr-dev/attachments/20211021/2ef12fe5/attachment.htm>
More information about the sr-dev
mailing list