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;

Reply via email to