Module: kamailio Branch: master Commit: 807160c199820f3e5df2c1d3f3abe92be3a7c042 URL: https://github.com/kamailio/kamailio/commit/807160c199820f3e5df2c1d3f3abe92be3a7c042
Author: jaybeepee <[email protected]> Committer: jaybeepee <[email protected]> Date: 2015-11-02T18:55:09+02:00 lib/ims: fixed possible crash when trying to get IMPI without realm --- Modified: lib/ims/ims_getters.c --- Diff: https://github.com/kamailio/kamailio/commit/807160c199820f3e5df2c1d3f3abe92be3a7c042.diff Patch: https://github.com/kamailio/kamailio/commit/807160c199820f3e5df2c1d3f3abe92be3a7c042.patch --- diff --git a/lib/ims/ims_getters.c b/lib/ims/ims_getters.c index 37cb411..5765ba9 100644 --- a/lib/ims/ims_getters.c +++ b/lib/ims/ims_getters.c @@ -122,6 +122,15 @@ str cscf_get_private_identity(struct sip_msg *msg, str realm) { struct hdr_field* h = 0; int ret, i, res; + if ((parse_headers(msg, HDR_AUTHORIZATION_F, 0) != 0) && (parse_headers(msg, HDR_PROXYAUTH_F, 0) != 0)) { + return pi; + } + + h = msg->authorization; + if (!msg->authorization) { + goto fallback; + } + if (realm.len && realm.s) { ret = find_credentials(msg, &realm, HDR_AUTHORIZATION_F, &h); if (ret < 0) { @@ -140,6 +149,9 @@ str cscf_get_private_identity(struct sip_msg *msg, str realm) { } } } + + if (!h) + goto fallback; res = parse_credentials(h); if (res != 0) { _______________________________________________ sr-dev mailing list [email protected] http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev
