From bad3cb53a39a3a863fcbd3a329e92d7f729a6189 Mon Sep 17 00:00:00 2001
From: Jordan Lee <jordan@transmissionbt.com>
Date: Sat, 9 Apr 2011 14:36:33 +0000
Subject: [PATCH] (trunk libT) #4173 "crashing with r12315 in Debian" -- apply
 patch from comment:8 for testing in 2.30b2

---
 libtransmission/peer-io.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/libtransmission/peer-io.c b/libtransmission/peer-io.c
index 3e88e348d..45595deab 100644
--- a/libtransmission/peer-io.c
+++ b/libtransmission/peer-io.c
@@ -1051,13 +1051,17 @@ evbuffer_add_uint64( struct evbuffer * outbuf, uint64_t addme_hll )
 void
 tr_peerIoReadBytesToBuf( tr_peerIo * io, struct evbuffer * inbuf, struct evbuffer * outbuf, size_t byteCount )
 {
+    struct evbuffer * tmp;
     const size_t old_length = evbuffer_get_length( outbuf );
 
     assert( tr_isPeerIo( io ) );
     assert( evbuffer_get_length( inbuf )  >= byteCount );
 
     /* append it to outbuf */
-    evbuffer_remove_buffer( inbuf, outbuf, byteCount );
+    tmp = evbuffer_new( );
+    evbuffer_remove_buffer( inbuf, tmp, byteCount );
+    evbuffer_add_buffer( outbuf, tmp );
+    evbuffer_free( tmp );
 
     /* decrypt if needed */
     if( io->encryption_type == PEER_ENCRYPTION_RC4 ) {
-- 
2.40.0