From 671d7e62c799240989b00ebdd6b60a1dc37d019d Mon Sep 17 00:00:00 2001 From: Joshua Colp Date: Fri, 14 Jun 2013 21:57:31 +0000 Subject: Ensure that the number of added contacts never goes below 0. This can happen when a REGISTER request is removing a contact. (closes issue ASTERISK-21911) Reported by: mdavenport git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@391902 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- res/res_sip_registrar.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'res') diff --git a/res/res_sip_registrar.c b/res/res_sip_registrar.c index 0cc5821ee..c3315d0be 100644 --- a/res/res_sip_registrar.c +++ b/res/res_sip_registrar.c @@ -259,7 +259,7 @@ static pj_bool_t registrar_on_rx_request(struct pjsip_rx_data *rdata) return PJ_TRUE; } - if (((added - deleted) + (!aor->remove_existing ? ao2_container_count(contacts) : 0)) > aor->max_contacts) { + if ((MAX(added - deleted, 0) + (!aor->remove_existing ? ao2_container_count(contacts) : 0)) > aor->max_contacts) { /* Enforce the maximum number of contacts */ pjsip_endpt_respond_stateless(ast_sip_get_pjsip_endpoint(), rdata, 403, NULL, NULL, NULL); return PJ_TRUE; -- cgit v1.2.3