diff options
-rw-r--r-- | src/libFLAC/bitreader.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/libFLAC/bitreader.c b/src/libFLAC/bitreader.c index 3df4d02c..d2c058d9 100644 --- a/src/libFLAC/bitreader.c +++ b/src/libFLAC/bitreader.c @@ -462,7 +462,7 @@ FLAC__bool FLAC__bitreader_read_raw_int32(FLAC__BitReader *br, FLAC__int32 *val, return false; /* sign-extend *val assuming it is currently bits wide. */ /* From: https://graphics.stanford.edu/~seander/bithacks.html#FixedSignExtend */ - mask = 1u << (bits - 1); + mask = bits >= 33 ? 0 : 1u << (bits - 1); *val = (uval ^ mask) - mask; return true; } |