[FFmpeg-cvslog] h264: notice memory allocation failure

Dustin Brody git at videolan.org
Sat Aug 13 03:18:00 CEST 2011


ffmpeg | branch: master | Dustin Brody <libav at parsoma.net> | Thu Aug 11 08:57:58 2011 -0400| [bac3ab13ea6a9dd8853e79ef3eacf51d234c8774] | committer: Ronald S. Bultje

h264: notice memory allocation failure

Signed-off-by: Ronald S. Bultje <rsbultje at gmail.com>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=bac3ab13ea6a9dd8853e79ef3eacf51d234c8774
---

 libavcodec/h264.c |   10 ++++++++--
 1 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/libavcodec/h264.c b/libavcodec/h264.c
index 9ab2498..c2229ff 100644
--- a/libavcodec/h264.c
+++ b/libavcodec/h264.c
@@ -1138,7 +1138,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++){
@@ -2597,7 +2600,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) {



More information about the ffmpeg-cvslog mailing list