Module: kamailio
Branch: master
Commit: 8caaeff0a82db141e40e118597f667bcb01f1fbe
URL:
https://github.com/kamailio/kamailio/commit/8caaeff0a82db141e40e118597f667b…
Author: Jason Penton <jason.penton(a)gmail.com>
Committer: Jason Penton <jason.penton(a)gmail.com>
Date: 2015-02-05T11:51:18+02:00
modules/ims_charging: release S-CSCF contact (unref) after use
- failing to do this results in contact never being freed
---
Modified: modules/ims_charging/dialog.c
---
Diff:
https://github.com/kamailio/kamailio/commit/8caaeff0a82db141e40e118597f667b…
Patch:
https://github.com/kamailio/kamailio/commit/8caaeff0a82db141e40e118597f667b…
---
diff --git a/modules/ims_charging/dialog.c b/modules/ims_charging/dialog.c
index 0f8beb8..f564fcb 100644
--- a/modules/ims_charging/dialog.c
+++ b/modules/ims_charging/dialog.c
@@ -236,6 +236,7 @@ void remove_dlg_data_from_contact(struct dlg_cell *dlg, int type,
struct dlg_cb_
LM_DBG("This contact: <%.*s> is not in usrloc, ignore - NOTE: You need
S-CSCF usrloc set to match_mode CONTACT_PORT_IP_ONLY\n", impu_data->contact.len,
impu_data->contact.s);
} else {//contact exists so add dialog data to it
ul.remove_dialog_data_from_contact(ucontact, dlg->h_entry, dlg->h_id);
+ ul.release_ucontact(ucontact);
}
}
ul.unlock_udomain(domain_t, &impu_data->identity);
@@ -277,6 +278,7 @@ void add_dlg_data_to_contact(struct dlg_cell *dlg, int type, struct
dlg_cb_param
LM_DBG("This contact: <%.*s> is not in usrloc, ignore - NOTE: You need
S-CSCF usrloc set to match_mode CONTACT_PORT_IP_ONLY\n", impu_data->contact.len,
impu_data->contact.s);
} else {//contact exists so add dialog data to it
ul.add_dialog_data_to_contact(ucontact, dlg->h_entry, dlg->h_id);
+ ul.release_ucontact(ucontact);
}
}
ul.unlock_udomain(domain_t, &impu_data->identity);