Repository: trafficserver Updated Branches: refs/heads/master a5dd039c2 -> 8c0cafca3
TS-2743: Ignore invalid HTTP headers in SpdyNV carefully Any HTTP headers with empty value are invalid, SpdyNV should ignore them carefully. Signed-off-by: Yunkai Zhang <[email protected]> Project: http://git-wip-us.apache.org/repos/asf/trafficserver/repo Commit: http://git-wip-us.apache.org/repos/asf/trafficserver/commit/9b72a7d1 Tree: http://git-wip-us.apache.org/repos/asf/trafficserver/tree/9b72a7d1 Diff: http://git-wip-us.apache.org/repos/asf/trafficserver/diff/9b72a7d1 Branch: refs/heads/master Commit: 9b72a7d1c6df9a4dfab449a2fb235035b7100b61 Parents: a5dd039 Author: Yunkai Zhang <[email protected]> Authored: Sun Apr 27 12:34:03 2014 +0800 Committer: Yunkai Zhang <[email protected]> Committed: Sun Apr 27 12:34:03 2014 +0800 ---------------------------------------------------------------------- proxy/spdy/SpdyCommon.cc | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/trafficserver/blob/9b72a7d1/proxy/spdy/SpdyCommon.cc ---------------------------------------------------------------------- diff --git a/proxy/spdy/SpdyCommon.cc b/proxy/spdy/SpdyCommon.cc index 71b6c85..1e0dff5 100644 --- a/proxy/spdy/SpdyCommon.cc +++ b/proxy/spdy/SpdyCommon.cc @@ -124,13 +124,20 @@ SpdyNV::SpdyNV(TSFetchSM fetch_sm) if (!strncasecmp(name, "Transfer-Encoding", name_len)) goto next; + value = TSMimeHdrFieldValueStringGet(bufp, loc, field_loc, -1, &value_len); + + // + // Any HTTP headers with empty value are invalid, + // we should ignore them. + // + if (!value || !value_len) + goto next; + strncpy(p, name, name_len); nv[i++] = p; p += name_len; *p++ = '\0'; - value = TSMimeHdrFieldValueStringGet(bufp, loc, field_loc, -1, &value_len); - TSReleaseAssert(value && value_len); strncpy(p, value, value_len); nv[i++] = p; p += value_len;
