diff --git a/cores/genesis/core/cd_hw/libchdr/deps/libFLAC/bitreader.c b/cores/genesis/core/cd_hw/libchdr/deps/libFLAC/bitreader.c index ab62d414f..7f22b625c 100644 --- a/cores/genesis/core/cd_hw/libchdr/deps/libFLAC/bitreader.c +++ b/cores/genesis/core/cd_hw/libchdr/deps/libFLAC/bitreader.c @@ -859,7 +859,7 @@ FLAC__bool FLAC__bitreader_read_rice_signed_block(FLAC__BitReader *br, int vals[ cwords = br->consumed_words; words = br->words; ucbits = FLAC__BITS_PER_WORD - br->consumed_bits; - b = br->buffer[cwords] << br->consumed_bits; + b = cwords < words ? br->buffer[cwords] << br->consumed_bits : 0; } while(cwords >= words && val < end); } diff --git a/cores/pce/deps/flac-1.3.2/src/libFLAC/bitreader.c b/cores/pce/deps/flac-1.3.2/src/libFLAC/bitreader.c index ab62d414f..7f22b625c 100644 --- a/cores/pce/deps/flac-1.3.2/src/libFLAC/bitreader.c +++ b/cores/pce/deps/flac-1.3.2/src/libFLAC/bitreader.c @@ -859,7 +859,7 @@ FLAC__bool FLAC__bitreader_read_rice_signed_block(FLAC__BitReader *br, int vals[ cwords = br->consumed_words; words = br->words; ucbits = FLAC__BITS_PER_WORD - br->consumed_bits; - b = br->buffer[cwords] << br->consumed_bits; + b = cwords < words ? br->buffer[cwords] << br->consumed_bits : 0; } while(cwords >= words && val < end); }