[FFmpeg-devel] [PATCH] libavformat/flac_picture: Don't return AVERROR_INVALIDDATA for errors with flac picture mimetype

Will Cassella cassew at chromium.org
Wed Sep 21 01:01:40 EEST 2022


Sorry for the delay, didn't see your reply!

The issue is that we do want to error out most of the time on invalid
input, but for our needs the mime-type of the attached picture being
empty or unknown isn't really relevant. Could there be a way to
classify this error differently so that it could be ignored, while
keeping AV_EF_EXPLODE enabled for everything else?

Thanks,
Will

On Fri, Sep 9, 2022 at 6:16 PM James Almer <jamrial at gmail.com> wrote:
>
> On 9/9/2022 7:44 PM, Will Cassella wrote:
> > In the case where the FLAC picture MIME type is not understood, fail to
> > parse the picture silently rather than return AVERROR_INVALIDDATA.
> >
> > This originated from a bug reported in Chromium: https://crbug.com/1052821
> >
> > Signed-off-by: Will Cassella <cassew at google.com>
> > ---
> >   libavformat/flac_picture.c | 4 ----
> >   1 file changed, 4 deletions(-)
> >
> > diff --git a/libavformat/flac_picture.c b/libavformat/flac_picture.c
> > index b33fee75b4..1acad9b251 100644
> > --- a/libavformat/flac_picture.c
> > +++ b/libavformat/flac_picture.c
> > @@ -68,8 +68,6 @@ int ff_flac_parse_picture(AVFormatContext *s,
> > uint8_t **bufp, int buf_size,
> >       if (len <= 0 || len >= sizeof(mimetype)) {
> >           av_log(s, AV_LOG_ERROR, "Could not read mimetype from an attached "
> >                  "picture.\n");
> > -        if (s->error_recognition & AV_EF_EXPLODE)
> > -            return AVERROR_INVALIDDATA;
>
> If you don't want to error out, then don't enable explode mode, which is
> meant to abort on the slightest issue?
>
> >           return 0;
> >       }
> >       if (len + 24 > bytestream2_get_bytes_left(&g)) {
> > @@ -91,8 +89,6 @@ int ff_flac_parse_picture(AVFormatContext *s,
> > uint8_t **bufp, int buf_size,
> >       if (id == AV_CODEC_ID_NONE) {
> >           av_log(s, AV_LOG_ERROR, "Unknown attached picture mimetype: %s.\n",
> >                  mimetype);
> > -        if (s->error_recognition & AV_EF_EXPLODE)
> > -            return AVERROR_INVALIDDATA;
> >           return 0;
> >       }
> >
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>
> To unsubscribe, visit link above, or email
> ffmpeg-devel-request at ffmpeg.org with subject "unsubscribe".


More information about the ffmpeg-devel mailing list