Module: kamailio
Branch: 4.2
Commit: e24c9ff7038534e07682e8a7bafd903e4303590e
URL: 
https://github.com/kamailio/kamailio/commit/e24c9ff7038534e07682e8a7bafd903e4303590e

Author: Daniel-Constantin Mierla <[email protected]>
Committer: Daniel-Constantin Mierla <[email protected]>
Date: 2015-02-23T22:02:51+01:00

sdpops: safety check when location a= line not to exceed end of message

(cherry picked from commit 91596953115fe1bbe5c6f0dd0dd6e8d99cdbd285)

---

Modified: modules/sdpops/sdpops_mod.c

---

Diff:  
https://github.com/kamailio/kamailio/commit/e24c9ff7038534e07682e8a7bafd903e4303590e.diff
Patch: 
https://github.com/kamailio/kamailio/commit/e24c9ff7038534e07682e8a7bafd903e4303590e.patch

---

diff --git a/modules/sdpops/sdpops_mod.c b/modules/sdpops/sdpops_mod.c
index 8717343..98c2f84 100644
--- a/modules/sdpops/sdpops_mod.c
+++ b/modules/sdpops/sdpops_mod.c
@@ -156,12 +156,17 @@ static int mod_init(void)
 int sdp_locate_line(sip_msg_t* msg, char *pos, str *aline)
 {
        char *p;
+       char *bend;
+
        p = pos;
        while(*p!='\n') p--;
        aline->s = p + 1;
        p = pos;
-       while(*p!='\n') p++;
+       bend = msg->buf+msg->len;
+       while(*p!='\n' && p<bend) p++;
        aline->len = p - aline->s + 1;
+       if(unlikely(p==bend)) aline->len--;
+
        return 0;
 }
 


_______________________________________________
sr-dev mailing list
[email protected]
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev

Reply via email to