Module: kamailio Branch: master Commit: c0c374ef15a99eef745570dd78926f6248187493 URL: https://github.com/kamailio/kamailio/commit/c0c374ef15a99eef745570dd78926f6248187493
Author: Daniel-Constantin Mierla <[email protected]> Committer: Daniel-Constantin Mierla <[email protected]> Date: 2017-12-08T09:20:02+01:00 lcr: safety checks for parms of kemi functions --- Modified: src/modules/lcr/lcr_mod.c --- Diff: https://github.com/kamailio/kamailio/commit/c0c374ef15a99eef745570dd78926f6248187493.diff Patch: https://github.com/kamailio/kamailio/commit/c0c374ef15a99eef745570dd78926f6248187493.patch --- diff --git a/src/modules/lcr/lcr_mod.c b/src/modules/lcr/lcr_mod.c index eecab748f6..beeeec0e23 100644 --- a/src/modules/lcr/lcr_mod.c +++ b/src/modules/lcr/lcr_mod.c @@ -2201,8 +2201,9 @@ static int ki_load_gws_furi(sip_msg_t *_m, int lcr_id, str *ruri_user, struct usr_avp *avp; struct search_state st; - LM_DBG("load_gws(%u, %.*s, %.*s)\n", lcr_id, ruri_user->len, ruri_user->s, - from_uri->len, from_uri->s); + LM_DBG("load_gws(%u, %.*s, %.*s)\n", lcr_id, + ruri_user->len, ZSW(ruri_user->s), + from_uri->len, ZSW(from_uri->s)); request_uri = GET_RURI(_m); @@ -2363,6 +2364,10 @@ static int ki_load_gws_ruser(sip_msg_t *_m, int lcr_id, str *ruri_user) { str from_uri = STR_NULL; + if(ruri_user==NULL || ruri_user->s==NULL) { + LM_ERR("invalid parameter\n"); + return -1; + } return ki_load_gws_furi(_m, lcr_id, ruri_user, &from_uri); } @@ -2371,9 +2376,15 @@ static int ki_load_gws_ruser(sip_msg_t *_m, int lcr_id, str *ruri_user) */ static int ki_load_gws(sip_msg_t *_m, int lcr_id) { - str ruri_user = STR_NULL; + str ruri_user; str from_uri = STR_NULL; + if ((parse_sip_msg_uri(_m) < 0) || (!_m->parsed_uri.user.s)) { + LM_ERR("error while parsing R-URI\n"); + return -1; + } + ruri_user = _m->parsed_uri.user; + return ki_load_gws_furi(_m, lcr_id, &ruri_user, &from_uri); } @@ -3444,4 +3455,4 @@ int mod_register(char *path, int *dlflags, void *p1, void *p2) { sr_kemi_modules_add(sr_kemi_lcr_exports); return 0; -} \ No newline at end of file +} _______________________________________________ Kamailio (SER) - Development Mailing List [email protected] https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-dev
