[sr-dev] git:4.0: usrloc: safety checks to catch empty ruid

Daniel-Constantin Mierla miconda at gmail.com
Tue Aug 13 09:39:09 CEST 2013


Module: sip-router
Branch: 4.0
Commit: 3898507f56eefe5c9d8e72b37280e0d133f6e357
URL:    http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=3898507f56eefe5c9d8e72b37280e0d133f6e357

Author: Daniel-Constantin Mierla <miconda at gmail.com>
Committer: Daniel-Constantin Mierla <miconda at gmail.com>
Date:   Tue Aug 13 09:37:21 2013 +0200

usrloc: safety checks to catch empty ruid

(cherry picked from commit b0e9132ccd1e8385b8b4faf72db806320d48e2f5)

---

 modules/usrloc/ucontact.c |   10 ++++++++++
 1 files changed, 10 insertions(+), 0 deletions(-)

diff --git a/modules/usrloc/ucontact.c b/modules/usrloc/ucontact.c
index 35dfa0d..996e8d5 100644
--- a/modules/usrloc/ucontact.c
+++ b/modules/usrloc/ucontact.c
@@ -93,6 +93,11 @@ ucontact_t* new_ucontact(str* _dom, str* _aor, str* _contact, ucontact_info_t* _
 {
 	ucontact_t *c;
 
+	if(unlikely(_ci->ruid.len<=0)) {
+		LM_ERR("no ruid for aor: %.*s\n", _aor->len, ZSW(_aor->s));
+		return 0;
+	}
+
 	c = (ucontact_t*)shm_malloc(sizeof(ucontact_t));
 	if (!c) {
 		LM_ERR("no more shm memory\n");
@@ -465,6 +470,11 @@ int db_insert_ucontact(ucontact_t* _c)
 	if (_c->flags & FL_MEM) {
 		return 0;
 	}
+	if(unlikely(_c->ruid.len<=0)) {
+		LM_ERR("invalid ruid for aor: %.*s\n",
+				_c->aor->len, ZSW(_c->aor->s));
+		return -1;
+	}
 
 	keys[0] = &user_col;
 	keys[1] = &contact_col;




More information about the sr-dev mailing list