From 66d60160b3cf38b8ada85b10660762cfefe2724d Mon Sep 17 00:00:00 2001 From: Jordan Lee Date: Tue, 29 Mar 2011 16:39:30 +0000 Subject: [PATCH] (trunk libT) fix bitfield.c assertion failure reported by Rolcol --- libtransmission/bitfield.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/libtransmission/bitfield.c b/libtransmission/bitfield.c index e962b85aa..0ee5c4e10 100644 --- a/libtransmission/bitfield.c +++ b/libtransmission/bitfield.c @@ -50,6 +50,10 @@ countRange( const tr_bitfield * b, size_t begin, size_t end ) const int first_byte = begin >> 3u; const int last_byte = ( end - 1 ) >> 3u; + if( !b->bit_count ) + return 0; + + assert( begin < end ); assert( b->bits != NULL ); if( first_byte == last_byte ) @@ -97,8 +101,6 @@ countRange( const tr_bitfield * b, size_t begin, size_t end ) size_t tr_bitfieldCountRange( const tr_bitfield * b, size_t begin, size_t end ) { - assert( begin < end ); - if( tr_bitfieldHasAll( b ) ) return end - begin;