Module: sip-router Branch: 4.0 Commit: 3898507f56eefe5c9d8e72b37280e0d133f6e357 URL: http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=3898507f...
Author: Daniel-Constantin Mierla miconda@gmail.com Committer: Daniel-Constantin Mierla miconda@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;