aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDustin Brody <libav@parsoma.net>2011-08-11 08:57:58 -0400
committerAnton Khirnov <anton@khirnov.net>2011-09-11 12:59:09 +0200
commitcc4718196ad6cfe765fa1e8db0adef0e5bb09664 (patch)
tree160d5289a6348fd3606a2166e111ea71556c6fb8
parentf629fcd308059a41f55a6022afee0f737af5fc02 (diff)
downloadffmpeg-cc4718196ad6cfe765fa1e8db0adef0e5bb09664.tar.gz
h264: notice memory allocation failure
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com> (cherry picked from commit bac3ab13ea6a9dd8853e79ef3eacf51d234c8774) Signed-off-by: Anton Khirnov <anton@khirnov.net>
-rw-r--r--libavcodec/h264.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/libavcodec/h264.c b/libavcodec/h264.c
index 2c000a3420..99be210d13 100644
--- a/libavcodec/h264.c
+++ b/libavcodec/h264.c
@@ -1165,7 +1165,10 @@ static int decode_update_thread_context(AVCodecContext *dst, const AVCodecContex
memcpy(&h->s + 1, &h1->s + 1, sizeof(H264Context) - sizeof(MpegEncContext)); //copy all fields after MpegEnc
memset(h->sps_buffers, 0, sizeof(h->sps_buffers));
memset(h->pps_buffers, 0, sizeof(h->pps_buffers));
- ff_h264_alloc_tables(h);
+ if (ff_h264_alloc_tables(h) < 0) {
+ av_log(dst, AV_LOG_ERROR, "Could not allocate memory for h264\n");
+ return AVERROR(ENOMEM);
+ }
context_init(h);
for(i=0; i<2; i++){
@@ -2635,7 +2638,10 @@ static int decode_slice_header(H264Context *h, H264Context *h0){
h->prev_interlaced_frame = 1;
init_scan_tables(h);
- ff_h264_alloc_tables(h);
+ if (ff_h264_alloc_tables(h) < 0) {
+ av_log(h->s.avctx, AV_LOG_ERROR, "Could not allocate memory for h264\n");
+ return AVERROR(ENOMEM);
+ }
if (!HAVE_THREADS || !(s->avctx->active_thread_type&FF_THREAD_SLICE)) {
if (context_init(h) < 0) {