You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafficserver.apache.org by zw...@apache.org on 2011/06/20 22:54:16 UTC

svn commit: r1137775 - /trafficserver/traffic/trunk/proxy/InkAPI.cc

Author: zwoop
Date: Mon Jun 20 20:54:16 2011
New Revision: 1137775

URL: http://svn.apache.org/viewvc?rev=1137775&view=rev
Log:
TS-826 TSHttpTxnErrorBodySet() can leak memory

Author: William Bardwell
Review: leif

Modified:
    trafficserver/traffic/trunk/proxy/InkAPI.cc

Modified: trafficserver/traffic/trunk/proxy/InkAPI.cc
URL: http://svn.apache.org/viewvc/trafficserver/traffic/trunk/proxy/InkAPI.cc?rev=1137775&r1=1137774&r2=1137775&view=diff
==============================================================================
--- trafficserver/traffic/trunk/proxy/InkAPI.cc (original)
+++ trafficserver/traffic/trunk/proxy/InkAPI.cc Mon Jun 20 20:54:16 2011
@@ -5232,11 +5232,15 @@ TSHttpTxnErrorBodySet(TSHttpTxn txnp, ch
   sdk_assert(buflength > 0);
 
   HttpSM *sm = (HttpSM *) txnp;
+  HttpTransact::State *s = &(sm->t_state);
+
+  if (s->internal_msg_buffer)
+    HttpTransact::free_internal_msg_buffer(s->internal_msg_buffer, s->internal_msg_buffer_fast_allocator_size);
 
-  sm->t_state.internal_msg_buffer = buf;
-  sm->t_state.internal_msg_buffer_type = mimetype;
-  sm->t_state.internal_msg_buffer_size = buflength;
-  sm->t_state.internal_msg_buffer_fast_allocator_size = -1;
+  s->internal_msg_buffer = buf;
+  s->internal_msg_buffer_type = mimetype;
+  s->internal_msg_buffer_size = buflength;
+  s->internal_msg_buffer_fast_allocator_size = -1;
 }
 
 void