[FFmpeg-cvslog] indeo4: Dont leave tables in random state on errors.

Michael Niedermayer git at videolan.org
Wed Mar 28 15:22:49 CEST 2012


ffmpeg | branch: master | Michael Niedermayer <michaelni at gmx.at> | Wed Mar 28 14:53:17 2012 +0200| [c44417e15a233bdb769585ff861000ca96465fa8] | committer: Michael Niedermayer

indeo4: Dont leave tables in random state on errors.

Signed-off-by: Michael Niedermayer <michaelni at gmx.at>

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

 libavcodec/indeo4.c |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/libavcodec/indeo4.c b/libavcodec/indeo4.c
index 15ed5f7..9b013e8 100644
--- a/libavcodec/indeo4.c
+++ b/libavcodec/indeo4.c
@@ -608,6 +608,7 @@ static int decode_band(IVI4DecContext *ctx, int plane_num,
 {
     int         result, i, t, pos, idx1, idx2;
     IVITile     *tile;
+    int         ret = 0;
 
     band->buf     = band->bufs[ctx->dst_buf];
     band->ref_buf = band->bufs[ctx->ref_buf];
@@ -651,7 +652,8 @@ static int decode_band(IVI4DecContext *ctx, int plane_num,
             tile->data_size = ff_ivi_dec_tile_data_size(&ctx->gb);
             if (!tile->data_size) {
                 av_log(avctx, AV_LOG_ERROR, "Tile data size is zero!\n");
-                return AVERROR_INVALIDDATA;
+                ret = AVERROR_INVALIDDATA;
+                break;
             }
 
             result = decode_mb_info(ctx, band, tile, avctx);
@@ -693,7 +695,7 @@ static int decode_band(IVI4DecContext *ctx, int plane_num,
 
     align_get_bits(&ctx->gb);
 
-    return 0;
+    return ret;
 }
 
 



More information about the ffmpeg-cvslog mailing list