You've already forked FFmpeg
mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-08-10 06:10:52 +02:00
lavc/pngdec: return meaningful error codes
This commit is contained in:
@@ -368,8 +368,8 @@ static int png_decode_idat(PNGDecContext *s, int length)
|
|||||||
while (s->zstream.avail_in > 0) {
|
while (s->zstream.avail_in > 0) {
|
||||||
ret = inflate(&s->zstream, Z_PARTIAL_FLUSH);
|
ret = inflate(&s->zstream, Z_PARTIAL_FLUSH);
|
||||||
if (ret != Z_OK && ret != Z_STREAM_END) {
|
if (ret != Z_OK && ret != Z_STREAM_END) {
|
||||||
av_log(s->avctx, AV_LOG_ERROR, "inflate returned %d\n", ret);
|
av_log(s->avctx, AV_LOG_ERROR, "inflate returned error %d\n", ret);
|
||||||
return -1;
|
return AVERROR_EXTERNAL;
|
||||||
}
|
}
|
||||||
if (s->zstream.avail_out == 0) {
|
if (s->zstream.avail_out == 0) {
|
||||||
if (!(s->state & PNG_ALLIMAGE)) {
|
if (!(s->state & PNG_ALLIMAGE)) {
|
||||||
@@ -519,7 +519,7 @@ static int decode_frame(AVCodecContext *avctx,
|
|||||||
if (sig != PNGSIG &&
|
if (sig != PNGSIG &&
|
||||||
sig != MNGSIG) {
|
sig != MNGSIG) {
|
||||||
av_log(avctx, AV_LOG_ERROR, "Missing png signature\n");
|
av_log(avctx, AV_LOG_ERROR, "Missing png signature\n");
|
||||||
return -1;
|
return AVERROR_INVALIDDATA;
|
||||||
}
|
}
|
||||||
|
|
||||||
s->y = s->state = 0;
|
s->y = s->state = 0;
|
||||||
@@ -530,8 +530,8 @@ static int decode_frame(AVCodecContext *avctx,
|
|||||||
s->zstream.opaque = NULL;
|
s->zstream.opaque = NULL;
|
||||||
ret = inflateInit(&s->zstream);
|
ret = inflateInit(&s->zstream);
|
||||||
if (ret != Z_OK) {
|
if (ret != Z_OK) {
|
||||||
av_log(avctx, AV_LOG_ERROR, "inflateInit returned %d\n", ret);
|
av_log(avctx, AV_LOG_ERROR, "inflateInit returned error %d\n", ret);
|
||||||
return -1;
|
return AVERROR_EXTERNAL;
|
||||||
}
|
}
|
||||||
for (;;) {
|
for (;;) {
|
||||||
if (bytestream2_get_bytes_left(&s->gb) <= 0) {
|
if (bytestream2_get_bytes_left(&s->gb) <= 0) {
|
||||||
@@ -859,7 +859,7 @@ static int decode_frame(AVCodecContext *avctx,
|
|||||||
return ret;
|
return ret;
|
||||||
fail:
|
fail:
|
||||||
av_dict_free(&metadata);
|
av_dict_free(&metadata);
|
||||||
ret = -1;
|
ret = AVERROR_INVALIDDATA;
|
||||||
goto the_end;
|
goto the_end;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user