|
|
@@ -32,6 +32,7 @@
|
|
|
#include "libavutil/intreadwrite.h"
|
|
|
#include "libavutil/log.h"
|
|
|
#include "libavutil/avassert.h"
|
|
|
+#include "avcodec.h"
|
|
|
#include "mathops.h"
|
|
|
#include "vlc.h"
|
|
|
|
|
|
@@ -428,7 +429,7 @@ static inline int init_get_bits(GetBitContext *s, const uint8_t *buffer,
|
|
|
int buffer_size;
|
|
|
int ret = 0;
|
|
|
|
|
|
- if (bit_size >= INT_MAX - 7 || bit_size < 0 || !buffer) {
|
|
|
+ if (bit_size >= INT_MAX - FFMAX(7, AV_INPUT_BUFFER_PADDING_SIZE*8) || bit_size < 0 || !buffer) {
|
|
|
bit_size = 0;
|
|
|
buffer = NULL;
|
|
|
ret = AVERROR_INVALIDDATA;
|