aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2020-02-13 01:49:08 +0000
committerAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2020-02-13 01:49:08 +0000
commitc193c8db96979860bd9be033ecd0f924e97f4dd9 (patch)
tree0a43214f465125675d3576042c737e74b9843256
parentfff99095193197fd2061881cdbbb341c37d131ea (diff)
parenta534793136e7acfaed240eb776d9749907aa265c (diff)
downloadflac-c193c8db96979860bd9be033ecd0f924e97f4dd9.tar.gz
Merge "libFLAC/stream_decoder.c: fix integer overflow on corrupt file" am: 33446315ab am: e996d65597 am: a534793136
Change-Id: I4d8f5d19e88af19150051fc0119da4fa39871e4f
-rw-r--r--libFLAC/stream_decoder.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/libFLAC/stream_decoder.c b/libFLAC/stream_decoder.c
index d364b0ce..071398ae 100644
--- a/libFLAC/stream_decoder.c
+++ b/libFLAC/stream_decoder.c
@@ -1632,6 +1632,8 @@ FLAC__bool read_metadata_streaminfo_(FLAC__StreamDecoder *decoder, FLAC__bool is
/* skip the rest of the block */
FLAC__ASSERT(used_bits % 8 == 0);
+ if (length < (used_bits / 8))
+ return false; /* read_callback_ sets the state for us */
length -= (used_bits / 8);
if(!FLAC__bitreader_skip_byte_block_aligned_no_crc(decoder->private_->input, length))
return false; /* read_callback_ sets the state for us */