huffyuv: Return proper error codes
authorDiego Biurrun <diego@biurrun.de>
Sun, 3 Aug 2014 18:22:20 +0000 (11:22 -0700)
committerDiego Biurrun <diego@biurrun.de>
Sun, 3 Aug 2014 22:18:58 +0000 (15:18 -0700)
libavcodec/huffyuvdec.c

index ebde3ca79bdea72c490d6122a9acac041fe74a9f..4d62ab3ef447427ac1d8a0f90c3af15032367c27 100644 (file)
@@ -98,7 +98,7 @@ static int read_len_table(uint8_t *dst, GetBitContext *gb)
             repeat = get_bits(gb, 8);
         if (i + repeat > 256 || get_bits_left(gb) < 0) {
             av_log(NULL, AV_LOG_ERROR, "Error reading huffman table\n");
-            return -1;
+            return AVERROR_INVALIDDATA;
         }
         while (repeat--)
             dst[i++] = val;
@@ -261,7 +261,7 @@ static av_cold int decode_init(AVCodecContext *avctx)
         int method, interlace;
 
         if (avctx->extradata_size < 4)
-            return -1;
+            return AVERROR_INVALIDDATA;
 
         method           = avctx->extradata[0];
         s->decorrelate   = method & 64 ? 1 : 0;
@@ -508,7 +508,7 @@ static int decode_frame(AVCodecContext *avctx, void *data, int *got_frame,
     }
 
     if ((unsigned) (buf_size - table_size) >= INT_MAX / 8)
-        return -1;
+        return AVERROR_INVALIDDATA;
 
     init_get_bits(&s->gb, s->bitstream_buffer + table_size,
                   (buf_size - table_size) * 8);