summaryrefslogtreecommitdiff
path: root/src/libFLAC/bitwriter.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/libFLAC/bitwriter.c')
-rw-r--r--src/libFLAC/bitwriter.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/libFLAC/bitwriter.c b/src/libFLAC/bitwriter.c
index 6e86585b..ed7ae0e8 100644
--- a/src/libFLAC/bitwriter.c
+++ b/src/libFLAC/bitwriter.c
@@ -107,6 +107,10 @@ FLAC__bool bitwriter_grow_(FLAC__BitWriter *bw, uint32_t bits_to_add)
FLAC__ASSERT(0 != bw);
FLAC__ASSERT(0 != bw->buffer);
+ /* sanity check */
+ if (bits_to_add > 8 * 1024 * 1024)
+ return false;
+
/* calculate total words needed to store 'bits_to_add' additional bits */
new_capacity = bw->words + ((bw->bits + bits_to_add + FLAC__BITS_PER_WORD - 1) / FLAC__BITS_PER_WORD);