You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafficserver.apache.org by mt...@apache.org on 2010/05/27 07:19:42 UTC
svn commit: r948673 - /trafficserver/traffic/trunk/librecords/RecMessage.cc
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;
Re: svn commit: r948673 - /trafficserver/traffic/trunk/librecords/RecMessage.cc
Posted by John Plevyak <jp...@acm.org>.
Actually
(5 + 7) & ~7 = 8
So this is 8 byte aligned.
john
On 5/26/2010 10:19 PM, mturk@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;
>