Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/FFmpeg/FFmpeg.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Niedermayer <michael@niedermayer.cc>2015-11-27 15:37:50 +0300
committerMichael Niedermayer <michael@niedermayer.cc>2015-11-27 15:52:47 +0300
commit8000d484b83aafa752d84fbdbfb352ffe0dc64f8 (patch)
treea7872c85e8a811fc9abe6997765e20b8bcf8b511 /libavcodec/cabac_functions.h
parenta1f6b05f5228979dab0e149deca7a30d22e98af5 (diff)
avcodec/cabac: Check initial cabac decoder state
Fixes integer overflows Fixes: 1430e9c43fae47a24c179c7c54f94918/signal_sigsegv_421427_2340_591e9810c7b09efe501ad84638c9e9f8.264 Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind Found-by: xiedingbao (Ticket4727) Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Diffstat (limited to 'libavcodec/cabac_functions.h')
-rw-r--r--libavcodec/cabac_functions.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/libavcodec/cabac_functions.h b/libavcodec/cabac_functions.h
index 4ded8ebd58..31c919bd71 100644
--- a/libavcodec/cabac_functions.h
+++ b/libavcodec/cabac_functions.h
@@ -191,7 +191,8 @@ static av_unused const uint8_t* skip_bytes(CABACContext *c, int n) {
#endif
if ((int) (c->bytestream_end - ptr) < n)
return NULL;
- ff_init_cabac_decoder(c, ptr + n, c->bytestream_end - ptr - n);
+ if (ff_init_cabac_decoder(c, ptr + n, c->bytestream_end - ptr - n) < 0)
+ return NULL;
return ptr;
}