On Fri, Jul 28, 2017 at 02:44:34AM +0100, Rostislav Pehlivanov wrote: > On 28 July 2017 at 02:22, Michael Niedermayer <mich...@niedermayer.cc> > wrote: > > > Fixes: runtime error: shift exponent 65 is too large for 64-bit type > > 'residual' (aka 'unsigned long') > > Fixes: 2737/clusterfuzz-testcase-minimized-4968639147016192 > > > > Found-by: continuous fuzzing process https://github.com/google/oss- > > fuzz/tree/master/projects/ffmpeg > > Signed-off-by: Michael Niedermayer <mich...@niedermayer.cc> > > --- > > libavcodec/dirac_vlc.c | 3 +++ > > 1 file changed, 3 insertions(+) > > > > diff --git a/libavcodec/dirac_vlc.c b/libavcodec/dirac_vlc.c > > index 773f720858..f9a6017ec0 100644 > > --- a/libavcodec/dirac_vlc.c > > +++ b/libavcodec/dirac_vlc.c > > @@ -96,6 +96,9 @@ int ff_dirac_golomb_read_16bit(DiracGolombLUT *lut_ctx, > > const uint8_t *buf, > > if ((c_idx + 1) > coeffs) > > return c_idx; > > > > + if (res_bits >= RSIZE_BITS) > > + return 0; > > + > > if (res_bits && l->sign) { > > int32_t coeff = 1; > > APPEND_RESIDUE(res, l->preamble); > > -- > > 2.13.0 > > > > _______________________________________________ > > ffmpeg-devel mailing list > > ffmpeg-devel@ffmpeg.org > > http://ffmpeg.org/mailman/listinfo/ffmpeg-devel > > > > Empty the residue instead of giving up. That's the better solution I think.
you mean "res_bits = res = 0;" ? if so ill push that thx [...] -- Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB I know you won't believe me, but the highest form of Human Excellence is to question oneself and others. -- Socrates
signature.asc
Description: Digital signature
_______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel