summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLode <lvandeve@gmail.com>2016-05-03 23:07:29 +0200
committerLode <lvandeve@gmail.com>2016-05-03 23:07:29 +0200
commitdb9cc960fc1fec9075fb455c617a2e0cdd7c6fb2 (patch)
treedcdc97c443b55e56373859d3b16d0ac50a6c1a90
parentc6cf08b8910d91b0830666c07845116df1e9b6fc (diff)
fix relying on integer underflow
-rw-r--r--lodepng.cpp5
1 files 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;
}