[sr-dev] git:master:cf0008d8: tm: detect local uac transaction not inserted in the hash table

Daniel-Constantin Mierla miconda at gmail.com
Fri Jun 7 08:49:19 CEST 2019


Module: kamailio
Branch: master
Commit: cf0008d843009acc8e40fcad3eceda063b1a358c
URL: https://github.com/kamailio/kamailio/commit/cf0008d843009acc8e40fcad3eceda063b1a358c

Author: Daniel-Constantin Mierla <miconda at gmail.com>
Committer: Daniel-Constantin Mierla <miconda at gmail.com>
Date: 2019-06-07T08:48:34+02:00

tm: detect local uac transaction not inserted in the hash table

---

Modified: src/modules/tm/uac.c

---

Diff:  https://github.com/kamailio/kamailio/commit/cf0008d843009acc8e40fcad3eceda063b1a358c.diff
Patch: https://github.com/kamailio/kamailio/commit/cf0008d843009acc8e40fcad3eceda063b1a358c.patch

---

diff --git a/src/modules/tm/uac.c b/src/modules/tm/uac.c
index 9e67c91fa2..340c011d6e 100644
--- a/src/modules/tm/uac.c
+++ b/src/modules/tm/uac.c
@@ -589,7 +589,8 @@ static inline int t_uac_prepare(uac_req_t *uac_r,
 	if (is_ack) {
 		free_cell(new_cell);
 	} else {
-		if(atomic_get_int(&new_cell->ref_count)==0) {
+		if((new_cell->next_c == 0 && new_cell->prev_c == 0)
+				|| (atomic_get_int(&new_cell->ref_count)==0)) {
 			free_cell(new_cell);
 		} else {
 			UNREF_FREE(new_cell, 0);




More information about the sr-dev mailing list