Commit 135d0189 authored by Patrick McHardy's avatar Patrick McHardy

netfilter: nf_conntrack_sip: fix off-by-one in compact header parsing

In a string like "v:SIP/2.0..." it was checking for !isalpha('S') when it
meant to be inspecting the ':'.

Patch by Greg Alexander <greqcs@galexander.org>
Signed-off-by: default avatarPatrick McHardy <kaber@trash.net>
parent dce766af
...@@ -376,7 +376,7 @@ int ct_sip_get_header(const struct nf_conn *ct, const char *dptr, ...@@ -376,7 +376,7 @@ int ct_sip_get_header(const struct nf_conn *ct, const char *dptr,
dptr += hdr->len; dptr += hdr->len;
else if (hdr->cname && limit - dptr >= hdr->clen + 1 && else if (hdr->cname && limit - dptr >= hdr->clen + 1 &&
strnicmp(dptr, hdr->cname, hdr->clen) == 0 && strnicmp(dptr, hdr->cname, hdr->clen) == 0 &&
!isalpha(*(dptr + hdr->clen + 1))) !isalpha(*(dptr + hdr->clen)))
dptr += hdr->clen; dptr += hdr->clen;
else else
continue; continue;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment