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;
>