diff mbox

[FFmpeg-devel,1/3] avcodec/dxtory: Remove code that corrupts dimensions

Message ID 20180217212512.18487-1-michael@niedermayer.cc
State Accepted
Commit 3748746a4d6988484d34516f7a3c6febf7bdf488
Headers show

Commit Message

Michael Niedermayer Feb. 17, 2018, 9:25 p.m. UTC
Fixes: Timeout
Fixes: 5796/clusterfuzz-testcase-minimized-5206729085157376

Does someone have a valid sample that triggers this path ?

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
---
 libavcodec/dxtory.c | 6 +-----
 1 file changed, 1 insertion(+), 5 deletions(-)

Comments

Michael Niedermayer Feb. 20, 2018, 2:53 p.m. UTC | #1
On Sat, Feb 17, 2018 at 10:25:10PM +0100, Michael Niedermayer wrote:
> Fixes: Timeout
> Fixes: 5796/clusterfuzz-testcase-minimized-5206729085157376
> 
> Does someone have a valid sample that triggers this path ?
> 
> Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
> ---
>  libavcodec/dxtory.c | 6 +-----
>  1 file changed, 1 insertion(+), 5 deletions(-)

will apply

[...]
Paul B Mahol Aug. 10, 2018, 7:05 a.m. UTC | #2
On 2/20/18, Michael Niedermayer <michael@niedermayer.cc> wrote:
> On Sat, Feb 17, 2018 at 10:25:10PM +0100, Michael Niedermayer wrote:
>> Fixes: Timeout
>> Fixes: 5796/clusterfuzz-testcase-minimized-5206729085157376
>>
>> Does someone have a valid sample that triggers this path ?
>>
>> Found-by: continuous fuzzing process
>> https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
>> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
>> ---
>>  libavcodec/dxtory.c | 6 +-----
>>  1 file changed, 1 insertion(+), 5 deletions(-)
>
> will apply
>
> [...]
> --
> Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
>
> Complexity theory is the science of finding the exact solution to an
> approximation. Benchmarking OTOH is finding an approximation of the exact
>

This change breaks this sample: http://0x0.st/s4Ot.avi

Please revert ASAP.
Michael Niedermayer Aug. 10, 2018, 11:54 p.m. UTC | #3
On Fri, Aug 10, 2018 at 09:05:42AM +0200, Paul B Mahol wrote:
> On 2/20/18, Michael Niedermayer <michael@niedermayer.cc> wrote:
> > On Sat, Feb 17, 2018 at 10:25:10PM +0100, Michael Niedermayer wrote:
> >> Fixes: Timeout
> >> Fixes: 5796/clusterfuzz-testcase-minimized-5206729085157376
> >>
> >> Does someone have a valid sample that triggers this path ?
> >>
> >> Found-by: continuous fuzzing process
> >> https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
> >> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
> >> ---
> >>  libavcodec/dxtory.c | 6 +-----
> >>  1 file changed, 1 insertion(+), 5 deletions(-)
> >
> > will apply
> >
> > [...]
> > --
> > Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
> >
> > Complexity theory is the science of finding the exact solution to an
> > approximation. Benchmarking OTOH is finding an approximation of the exact
> >
> 
> This change breaks this sample: http://0x0.st/s4Ot.avi
> 
> Please revert ASAP.

Can you explain how it breaks this sample ?
if i look at the images from:
make -j12 && ./ffmpeg -ss 1 -i s4Ot.avi -vf eq=1:0.5 test-git%d.png

teh first image to differ is test-*7.png
if i load it and the reverted in gimp as layers its easy vissible that
one has been vertically scaled to 1024 while the other is not.
Which is kind of expected.
the image contains nothing but a circle and a dot in the middle
if i now take the paintbrush tool and set its size to 132 then its
easy to see when hovering over the circle that the one from git is
round while the one from the change reverted is not round
it is round in the other images (looked at image5)
So i presume that the correct height is 1024 and not 1004 as the
code in case of a revert would make it.

Do you see some artifacts that are in the git version which are not in the
reverted one ?

Feel free to revert of course, if you think that theres a major issue
that this fixes. Iam not reverting as i failed to reproduce an issue except
the printed messages asking for a sample

Thanks
diff mbox

Patch

diff --git a/libavcodec/dxtory.c b/libavcodec/dxtory.c
index e736cec8db..285ca38efb 100644
--- a/libavcodec/dxtory.c
+++ b/libavcodec/dxtory.c
@@ -305,11 +305,7 @@  static int dxtory_decode_v2(AVCodecContext *avctx, AVFrame *pic,
     }
 
     if (avctx->height - line) {
-        av_log(avctx, AV_LOG_VERBOSE,
-               "Not enough slice data available, "
-               "cropping the frame by %d pixels\n",
-                avctx->height - line);
-        avctx->height = line;
+        avpriv_request_sample(avctx, "Not enough slice data available");
     }
 
     return 0;