diff --git a/modules/sdpops/sdpops_mod.c b/modules/sdpops/sdpops_mod.c index 3357bb2ac33..2a4aa6b615f 100644 --- a/modules/sdpops/sdpops_mod.c +++ b/modules/sdpops/sdpops_mod.c @@ -159,12 +159,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' && plen = p - aline->s + 1; + if(unlikely(p==bend)) aline->len--; + return 0; }