Masakazu Kitajo created TS-4313:
-----------------------------------

             Summary: MIMEHdr fails to find header fields
                 Key: TS-4313
                 URL: https://issues.apache.org/jira/browse/TS-4313
             Project: Traffic Server
          Issue Type: Bug
          Components: MIME
            Reporter: Masakazu Kitajo


MIMEHdr fails to find a MIMEField occasionally due to improper type conversion.

It happens if the lower 32 bits of addresses of m_field_slots are the same. The 
logic below picks up wrong block.

mime_hdr_field_slotnum(): 
{code}
for (fblock = &(mh->m_first_fblock); fblock != NULL; fblock = fblock->m_next) {
    MIMEField *first = &(fblock->m_field_slots[0]);
    int block_slot = (int)(field - first); // in units of MIMEField
    if ((block_slot >= 0) && (block_slot < MIME_FIELD_BLOCK_SLOTS))
{code}

The type of block_slot should be intptr_t.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to