ffmpeg | branch: master | Donny Yang <w...@kota.moe> | Sun Mar 29 11:05:42 2015 +0000| [68ede913d03359a617e256c22ae3d976604269b5] | committer: Michael Niedermayer
png: Return slightly more meaningful error codes Signed-off-by: Donny Yang <w...@kota.moe> Signed-off-by: Michael Niedermayer <michae...@gmx.at> > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=68ede913d03359a617e256c22ae3d976604269b5 --- libavcodec/pngenc.c | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/libavcodec/pngenc.c b/libavcodec/pngenc.c index d6233d0..946b816 100644 --- a/libavcodec/pngenc.c +++ b/libavcodec/pngenc.c @@ -373,19 +373,19 @@ static int encode_frame(AVCodecContext *avctx, AVPacket *pkt, s->bytestream_end = pkt->data + pkt->size; crow_base = av_malloc((row_size + 32) << (s->filter_type == PNG_FILTER_VALUE_MIXED)); - if (!crow_base) - goto fail; + if (!crow_base) { + ret = AVERROR(ENOMEM); + goto the_end; + } // pixel data should be aligned, but there's a control byte before it crow_buf = crow_base + 15; if (is_progressive) { progressive_buf = av_malloc(row_size + 1); - if (!progressive_buf) - goto fail; - } - if (is_progressive) { top_buf = av_malloc(row_size + 1); - if (!top_buf) - goto fail; + if (!progressive_buf || !top_buf) { + ret = AVERROR(ENOMEM); + goto the_end; + } } /* write png header */ @@ -501,7 +501,8 @@ static int encode_frame(AVCodecContext *avctx, AVPacket *pkt, if (ret == Z_STREAM_END) break; } else { - goto fail; + ret = -1; + goto the_end; } } png_write_chunk(&s->bytestream, MKTAG('I', 'E', 'N', 'D'), NULL, 0); @@ -517,9 +518,6 @@ the_end: av_freep(&top_buf); deflateEnd(&s->zstream); return ret; -fail: - ret = -1; - goto the_end; } static av_cold int png_enc_init(AVCodecContext *avctx) _______________________________________________ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog