[FFmpeg-devel] [PATCH 3/7] avformat/icodec: Factor failure code out in read_header()
Peter Ross
pross at xvid.org
Fri Nov 13 08:36:59 EET 2020
On Wed, Nov 04, 2020 at 01:06:45AM +0100, Michael Niedermayer wrote:
> Signed-off-by: Michael Niedermayer <michael at niedermayer.cc>
> ---
> libavformat/icodec.c | 12 ++++++------
> 1 file changed, 6 insertions(+), 6 deletions(-)
>
> diff --git a/libavformat/icodec.c b/libavformat/icodec.c
> index c061f3ec42..cf1e60815e 100644
> --- a/libavformat/icodec.c
> +++ b/libavformat/icodec.c
> @@ -113,8 +113,7 @@ static int read_header(AVFormatContext *s)
> ico->images[i].size = avio_rl32(pb);
> if (ico->images[i].size <= 0) {
> av_log(s, AV_LOG_ERROR, "Invalid image size %d\n", ico->images[i].size);
> - av_freep(&ico->images);
> - return AVERROR_INVALIDDATA;
> + goto fail;
> }
> ico->images[i].offset = avio_rl32(pb);
>
> @@ -130,8 +129,7 @@ static int read_header(AVFormatContext *s)
> break;
> case 40:
> if (ico->images[i].size < 40) {
> - av_freep(&ico->images);
> - return AVERROR_INVALIDDATA;
> + goto fail;
> }
> st->codecpar->codec_id = AV_CODEC_ID_BMP;
> tmp = avio_rl32(pb);
> @@ -143,12 +141,14 @@ static int read_header(AVFormatContext *s)
> break;
> default:
> avpriv_request_sample(s, "codec %d", codec);
> - av_freep(&ico->images);
> - return AVERROR_INVALIDDATA;
> + goto fail;
> }
> }
>
> return 0;
> +fail:
> + av_freep(&ico->images);
> + return AVERROR_INVALIDDATA;
> }
>
> static int read_packet(AVFormatContext *s, AVPacket *pkt)
> --
> 2.17.1
looks good
-- Peter
(A907 E02F A6E5 0CD2 34CD 20D2 6760 79C5 AC40 DD6B)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 195 bytes
Desc: not available
URL: <https://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20201113/a08647e4/attachment.sig>
More information about the ffmpeg-devel
mailing list