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