summaryrefslogtreecommitdiff
path: root/third-party/pjproject
diff options
context:
space:
mode:
authorJoshua Colp <jcolp@digium.com>2017-11-14 09:11:29 -0600
committerGerrit Code Review <gerrit2@gerrit.digium.api>2017-11-14 09:11:29 -0600
commit8c01f7d32c476a9ab146360591a3f68a2bc2c8d1 (patch)
tree08ba5e6cafb7ddc89f4f7ec77c59fc9d6358dec7 /third-party/pjproject
parent2c9c99b427b50894555029592d15f66b28b8e1e5 (diff)
parent56c11b0e79e8d1258e25fd70942172a6fd29ab59 (diff)
Merge "pjsip: Add patch to allow all transports to be destroyed." into 15
Diffstat (limited to 'third-party/pjproject')
-rw-r--r--third-party/pjproject/patches/0030-sip_transport-Destroy-transports-not-in-hash.patch27
1 files changed, 27 insertions, 0 deletions
diff --git a/third-party/pjproject/patches/0030-sip_transport-Destroy-transports-not-in-hash.patch b/third-party/pjproject/patches/0030-sip_transport-Destroy-transports-not-in-hash.patch
new file mode 100644
index 000000000..e42b0f7c6
--- /dev/null
+++ b/third-party/pjproject/patches/0030-sip_transport-Destroy-transports-not-in-hash.patch
@@ -0,0 +1,27 @@
+diff --git a/pjsip/src/pjsip/sip_transport.c b/pjsip/src/pjsip/sip_transport.c
+index e4bec24..a39b56e 100644
+--- a/pjsip/src/pjsip/sip_transport.c
++++ b/pjsip/src/pjsip/sip_transport.c
+@@ -957,7 +957,21 @@ static pj_bool_t is_transport_valid(pjsip_tpmgr *tpmgr, pjsip_transport *tp,
+ const pjsip_transport_key *key,
+ int key_len)
+ {
+- return (pj_hash_get(tpmgr->table, key, key_len, NULL) == (void*)tp);
++ transport *tp_iter;
++
++ if (pj_hash_get(tpmgr->table, key, key_len, NULL) == (void*)tp) {
++ return PJ_TRUE;
++ }
++
++ tp_iter = tpmgr->tp_list.next;
++ while (tp_iter != &tpmgr->tp_list) {
++ if (tp_iter->tp == tp) {
++ return PJ_TRUE;
++ }
++ tp_iter = tp_iter->next;
++ }
++
++ return PJ_FALSE;
+ }
+
+ /*