From: Mike Gelfand Date: Thu, 31 Dec 2015 05:22:42 +0000 (+0000) Subject: Loosen bitfield assertions to account for unknown bit counts X-Git-Tag: 2.90~46 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=40f3de05724f4ed262e9aed069fd234ce44f5b49;p=transmission Loosen bitfield assertions to account for unknown bit counts --- diff --git a/libtransmission/bitfield.c b/libtransmission/bitfield.c index d9cadbdc5..4abfb1e13 100644 --- a/libtransmission/bitfield.c +++ b/libtransmission/bitfield.c @@ -254,7 +254,7 @@ tr_bitfieldFreeArray (tr_bitfield * b) static void tr_bitfieldSetTrueCount (tr_bitfield * b, size_t n) { - assert (n <= b->bit_count); + assert (b->bit_count == 0 || n <= b->bit_count); b->true_count = n; @@ -273,8 +273,8 @@ tr_bitfieldRebuildTrueCount (tr_bitfield * b) static void tr_bitfieldIncTrueCount (tr_bitfield * b, size_t i) { - assert (i <= b->bit_count); - assert (b->true_count <= b->bit_count - i); + assert (b->bit_count == 0 || i <= b->bit_count); + assert (b->bit_count == 0 || b->true_count <= b->bit_count - i); tr_bitfieldSetTrueCount (b, b->true_count + i); } @@ -282,8 +282,8 @@ tr_bitfieldIncTrueCount (tr_bitfield * b, size_t i) static void tr_bitfieldDecTrueCount (tr_bitfield * b, size_t i) { - assert (i <= b->bit_count); - assert (b->true_count >= i); + assert (b->bit_count == 0 || i <= b->bit_count); + assert (b->bit_count == 0 || b->true_count >= i); tr_bitfieldSetTrueCount (b, b->true_count - i); }