You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafficserver.apache.org by wb...@apache.org on 2015/01/26 17:16:29 UTC

trafficserver git commit: TS-1547 in HTTPHdr::copy hdr ptr is error

Repository: trafficserver
Updated Branches:
  refs/heads/master ed89e5429 -> aea7efdcb


TS-1547 in HTTPHdr::copy hdr ptr is error

Mark HTTPHdr slots that can't be usefully unmarshalled as empty.
I think you end up with these when a plugin is adding and removing
headers a lot.


Project: http://git-wip-us.apache.org/repos/asf/trafficserver/repo
Commit: http://git-wip-us.apache.org/repos/asf/trafficserver/commit/aea7efdc
Tree: http://git-wip-us.apache.org/repos/asf/trafficserver/tree/aea7efdc
Diff: http://git-wip-us.apache.org/repos/asf/trafficserver/diff/aea7efdc

Branch: refs/heads/master
Commit: aea7efdcb2447d9e4bcc6139492eaa9514272782
Parents: ed89e54
Author: William Bardwell <wb...@apache.org>
Authored: Mon Jan 26 11:13:22 2015 -0500
Committer: William Bardwell <wb...@apache.org>
Committed: Mon Jan 26 11:13:22 2015 -0500

----------------------------------------------------------------------
 proxy/hdrs/MIME.cc | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/trafficserver/blob/aea7efdc/proxy/hdrs/MIME.cc
----------------------------------------------------------------------
diff --git a/proxy/hdrs/MIME.cc b/proxy/hdrs/MIME.cc
index 952ede3..f372b1c 100644
--- a/proxy/hdrs/MIME.cc
+++ b/proxy/hdrs/MIME.cc
@@ -3615,13 +3615,15 @@ MIMEFieldBlockImpl::unmarshal(intptr_t offset)
   for (uint32_t index = 0; index < m_freetop; index++) {
     MIMEField *field = &(m_field_slots[index]);
 
-    // FIX ME - DO I NEED TO DEAL WITH OTHER READINESSES?
     if (field->is_live()) {
       HDR_UNMARSHAL_STR(field->m_ptr_name, offset);
       HDR_UNMARSHAL_STR(field->m_ptr_value, offset);
       if (field->m_next_dup) {
         HDR_UNMARSHAL_PTR(field->m_next_dup, MIMEField, offset);
       }
+    } else {
+      // Clear out other types of slots
+      field->m_readiness = MIME_FIELD_SLOT_READINESS_EMPTY;
     }
 
   }