Actually
(5 + 7) & ~7 = 8 So this is 8 byte aligned. john On 5/26/2010 10:19 PM, mt...@apache.org wrote: > Author: mturk > Date: Thu May 27 05:19:42 2010 > New Revision: 948673 > > URL: http://svn.apache.org/viewvc?rev=948673&view=rev > Log: > TS-376: Fix another wrong alignment calculation. > > This one is pretty dangerous. However it seems the RecMessageMarshal_Realloc > is unused > > Modified: > trafficserver/traffic/trunk/librecords/RecMessage.cc > > Modified: trafficserver/traffic/trunk/librecords/RecMessage.cc > URL: > http://svn.apache.org/viewvc/trafficserver/traffic/trunk/librecords/RecMessage.cc?rev=948673&r1=948672&r2=948673&view=diff > ============================================================================== > --- trafficserver/traffic/trunk/librecords/RecMessage.cc (original) > +++ trafficserver/traffic/trunk/librecords/RecMessage.cc Thu May 27 05:19:42 > 2010 > @@ -338,8 +338,12 @@ RecMessageMarshal_Realloc(RecMessage * m > rec_cfg_chk_len = strlen(record->config_meta.check_expr) + 1; > msg_ele_size += rec_cfg_chk_len; > } > - msg_ele_size = (msg_ele_size + 7) & ~7; // 8 byte alignmenet > + // XXX: this is NOT 8 byte alignment > + // msg_ele_size = 5; > + // (msg_ele_size + 7) & ~7 == 5 !!! > + // msg_ele_size = (msg_ele_size + 7) & ~7; // 8 byte alignmenet > > + msg_ele_size = INK_ALIGN_DEFAULT(msg_ele_size); // 8 byte alignmenet > // get some space in our buffer > while (msg->o_end - msg->o_write < msg_ele_size) { > int realloc_size = (msg->o_end - msg->o_start) * 2; >