[FFmpeg-devel] [PATCH] avcodec/exr: Allow duplicate use of channel indexes
Paul B Mahol
onemda at gmail.com
Tue Oct 8 18:13:42 EEST 2019
Why are you not gonna apply this patch?
Fix code you break!
On 9/26/19, Michael Niedermayer <michael at niedermayer.cc> wrote:
> Fixes: Ticket #8203
>
> Reported-by: durandal_1707
> Signed-off-by: Michael Niedermayer <michael at niedermayer.cc>
> ---
> libavcodec/exr.c | 9 ++++++---
> 1 file changed, 6 insertions(+), 3 deletions(-)
>
> diff --git a/libavcodec/exr.c b/libavcodec/exr.c
> index c12469cc28..29dab36409 100644
> --- a/libavcodec/exr.c
> +++ b/libavcodec/exr.c
> @@ -1307,6 +1307,7 @@ static int decode_header(EXRContext *s, AVFrame
> *frame)
> int magic_number, version, i, flags, sar = 0;
> int layer_match = 0;
> int ret;
> + int dup_channels = 0;
>
> s->current_channel_offset = 0;
> s->xmin = ~0;
> @@ -1465,10 +1466,12 @@ static int decode_header(EXRContext *s, AVFrame
> *frame)
> s->pixel_type = current_pixel_type;
> s->channel_offsets[channel_index] =
> s->current_channel_offset;
> } else if (channel_index >= 0) {
> - av_log(s->avctx, AV_LOG_ERROR,
> + av_log(s->avctx, AV_LOG_WARNING,
> "Multiple channels with index %d.\n",
> channel_index);
> - ret = AVERROR_INVALIDDATA;
> - goto fail;
> + if (++dup_channels > 10) {
> + ret = AVERROR_INVALIDDATA;
> + goto fail;
> + }
> }
>
> s->channels = av_realloc(s->channels,
> --
> 2.23.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