aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHolger Hans Peter Freyther <zecke@selfish.org>2010-05-03 16:13:02 +0800
committerHolger Hans Peter Freyther <zecke@selfish.org>2010-05-03 16:13:02 +0800
commitf7b06fbe0cedd32d7933fb00aae2a0c0baa9cf6a (patch)
tree9b0c41d7cdf004af7fadbc17f0a80a59fcdb3ef3
parent45403b1804d2318aec2858c28ac4c623bfdcde2f (diff)
bsc: Speculative crash fix.
Make sure the sccp_cc_timeout is stopped when we delete the associated data. There is one crash report that indicates that we have a pending timer that is inside freed memory. A crash could have occured when the connection to the MSC was lost while have unconfirmed connections.
-rw-r--r--openbsc/src/bsc_msc_ip.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/openbsc/src/bsc_msc_ip.c b/openbsc/src/bsc_msc_ip.c
index f760ad627..2e364ab0b 100644
--- a/openbsc/src/bsc_msc_ip.c
+++ b/openbsc/src/bsc_msc_ip.c
@@ -99,6 +99,7 @@ struct bss_sccp_connection_data *bss_sccp_create_data()
void bss_sccp_free_data(struct bss_sccp_connection_data *data)
{
bsc_del_timer(&data->T10);
+ bsc_del_timer(&data->sccp_cc_timeout);
bsc_del_timer(&data->sccp_it);
if (data->sccp)
bsc_free_queued(data->sccp);