avcodec/libxvid: check for av_malloc*() failures
authorMichael Niedermayer <michaelni@gmx.at>
Sat, 3 Jan 2015 22:42:34 +0000 (23:42 +0100)
committerMichael Niedermayer <michaelni@gmx.at>
Sat, 3 Jan 2015 22:51:18 +0000 (23:51 +0100)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
libavcodec/libxvid.c

index 64572da..7669fee 100644 (file)
@@ -287,6 +287,8 @@ static int xvid_strip_vol_header(AVCodecContext *avctx, AVPacket *pkt,
         /* We need to store the header, so extract it */
         if (!avctx->extradata) {
             avctx->extradata = av_malloc(vo_len);
+            if (!avctx->extradata)
+                return AVERROR(ENOMEM);
             memcpy(avctx->extradata, pkt->data, vo_len);
             avctx->extradata_size = vo_len;
         }
@@ -625,11 +627,19 @@ static av_cold int xvid_encode_init(AVCodecContext *avctx)
         if (avctx->intra_matrix) {
             intra           = avctx->intra_matrix;
             x->intra_matrix = av_malloc(sizeof(unsigned char) * 64);
+            if (!x->intra_matrix) {
+                ret = AVERROR(ENOMEM);
+                goto fail;
+            }
         } else
             intra = NULL;
         if (avctx->inter_matrix) {
             inter           = avctx->inter_matrix;
             x->inter_matrix = av_malloc(sizeof(unsigned char) * 64);
+            if (!x->inter_matrix) {
+                ret = AVERROR(ENOMEM);
+                goto fail;
+            }
         } else
             inter = NULL;