diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2011-04-01 12:46:36 +0200 |
---|---|---|
committer | Anton Khirnov <anton@khirnov.net> | 2011-06-13 20:42:14 +0200 |
commit | 294e5475c2cf4bb7a0db34931515fddc5732c266 (patch) | |
tree | 5ca061cf211b3d2a4ff3f90379237f5bbd5d712f | |
parent | 9776e25db9a43e77e9b091c012bf16267d9559d7 (diff) | |
download | ffmpeg-294e5475c2cf4bb7a0db34931515fddc5732c266.tar.gz |
ffv1: fix undefined behavior with insane widths.
The new tables is large enough to prevent this together with our image size checks.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
-rw-r--r-- | libavcodec/bitstream.c | 6 | ||||
-rw-r--r-- | libavcodec/ffv1.c | 2 |
2 files changed, 5 insertions, 3 deletions
diff --git a/libavcodec/bitstream.c b/libavcodec/bitstream.c index b593db55ce..17b1c69c84 100644 --- a/libavcodec/bitstream.c +++ b/libavcodec/bitstream.c @@ -32,11 +32,13 @@ #include "get_bits.h" #include "put_bits.h" -const uint8_t ff_log2_run[32]={ +const uint8_t ff_log2_run[41]={ 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, - 8, 9,10,11,12,13,14,15 + 8, 9,10,11,12,13,14,15, +16,17,18,19,20,21,22,23, +24, }; void align_put_bits(PutBitContext *s) diff --git a/libavcodec/ffv1.c b/libavcodec/ffv1.c index 53edbb3459..50f1062ad4 100644 --- a/libavcodec/ffv1.c +++ b/libavcodec/ffv1.c @@ -40,7 +40,7 @@ #define MAX_QUANT_TABLES 8 #define MAX_CONTEXT_INPUTS 5 -extern const uint8_t ff_log2_run[32]; +extern const uint8_t ff_log2_run[41]; static const int8_t quant3[256]={ 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, |