diff options
author | Patrick McHardy <kaber@trash.net> | 2010-08-17 00:42:24 +0200 |
---|---|---|
committer | Patrick McHardy <kaber@trash.net> | 2010-08-25 03:39:06 +0200 |
commit | 4c3b4aa379bbdb64c4b0d840fd659dd6dd9031e0 (patch) | |
tree | 2d95e5b57e3d1db34f90dec837c93411571df23f /src | |
parent | 58496f45e88b5bfe711e74a5b7124e5f103e0809 (diff) |
cc: fix segfault due to incorrect call destruction
Only destroy the link when invoking the MNCC_RELEASE-cfm primitive,
on MNCC_RELEASE-ind destruction happends in MNCC_RELEASE-res.
Signed-off-by: Patrick McHardy <kaber@trash.net>
Diffstat (limited to 'src')
-rw-r--r-- | src/cc.c | 8 |
1 files changed, 4 insertions, 4 deletions
@@ -1325,6 +1325,10 @@ static void dect_mncc_release_cfm(struct dect_handle *dh, struct dect_call *call cc_debug(call, "MNCC_RELEASE-cfm"); dh->ops->cc_ops->mncc_release_cfm(dh, call, param); dect_ie_collection_put(dh, param); + + dect_call_disconnect_uplane(dh, call); + dect_transaction_close(dh, &call->transaction, DECT_DDL_RELEASE_NORMAL); + dect_call_destroy(dh, call); } static void dect_cc_rcv_release_com(struct dect_handle *dh, struct dect_call *call, @@ -1357,10 +1361,6 @@ static void dect_cc_rcv_release_com(struct dect_handle *dh, struct dect_call *ca } out: dect_msg_free(dh, &cc_release_com_msg_desc, &msg.common); - - dect_call_disconnect_uplane(dh, call); - dect_transaction_close(dh, &call->transaction, DECT_DDL_RELEASE_NORMAL); - dect_call_destroy(dh, call); } static void dect_mncc_iwu_info_ind(struct dect_handle *dh, struct dect_call *call, |