From db9cc960fc1fec9075fb455c617a2e0cdd7c6fb2 Mon Sep 17 00:00:00 2001 From: Lode Date: Tue, 3 May 2016 23:07:29 +0200 Subject: fix relying on integer underflow --- lodepng.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lodepng.cpp b/lodepng.cpp index fcad93e..8c78758 100644 --- a/lodepng.cpp +++ b/lodepng.cpp @@ -2385,9 +2385,10 @@ static unsigned readBitsFromReversedStream(size_t* bitpointer, const unsigned ch { unsigned result = 0; size_t i; - for(i = nbits - 1; i < nbits; --i) + for(i = 0 ; i < nbits; ++i) { - result += (unsigned)readBitFromReversedStream(bitpointer, bitstream) << i; + result <<= 1; + result |= (unsigned)readBitFromReversedStream(bitpointer, bitstream); } return result; } -- cgit v1.2.3