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 <[email protected]> Authored: Mon Jan 26 11:13:22 2015 -0500 Committer: William Bardwell <[email protected]> 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; } }
