[ https://issues.apache.org/jira/browse/TS-4313?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15218138#comment-15218138 ]
ASF GitHub Bot commented on TS-4313: ------------------------------------ Github user jpeach commented on a diff in the pull request: https://github.com/apache/trafficserver/pull/542#discussion_r57907840 --- Diff: proxy/hdrs/MIME.cc --- @@ -473,7 +473,8 @@ mime_hdr_set_accelerator_slotnum(MIMEHdrImpl *mh, int32_t slot_id, uint32_t slot inline void mime_hdr_set_accelerators_and_presence_bits(MIMEHdrImpl *mh, MIMEField *field) { - int slot_id, slot_num; + int slot_id; + intptr_t slot_num; --- End diff -- This doesn't seem to be needed? > 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 > Assignee: Masakazu Kitajo > Fix For: 6.2.0 > > > 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)