On Fri, Mar 09, 2018 at 11:03:33AM +0100, Tomas Härdin wrote: > On 2018-03-09 02:37, Michael Niedermayer wrote: > >Fixes: signed integer overflow: 3775922176 * 4278190080 cannot be > >represented in type 'long' > >Fixes: Chromium bug 791237 > > > >Reported-by: Matt Wolenetz <wolen...@google.com> > >Reviewed-by: Matt Wolenetz <wolen...@google.com> > >Signed-off-by: Michael Niedermayer <mich...@niedermayer.cc> > >--- > > libavformat/avidec.c | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > >diff --git a/libavformat/avidec.c b/libavformat/avidec.c > >index 3ff515d492..bafe1dc8da 100644 > >--- a/libavformat/avidec.c > >+++ b/libavformat/avidec.c > >@@ -670,7 +670,7 @@ FF_ENABLE_DEPRECATION_WARNINGS > > st->start_time = 0; > > avio_rl32(pb); /* buffer size */ > > avio_rl32(pb); /* quality */ > >- if (ast->cum_len*ast->scale/ast->rate > 3600) { > >+ if (ast->cum_len > 3600LL * ast->rate / ast->scale) { > > av_log(s, AV_LOG_ERROR, "crazy start time, iam scared, > > giving up\n"); > > ast->cum_len = 0; > > } > > Isn't there an AVRational compare function for stuff like this?
AVRational is signed 32/32 bit, cum_len is 64 bit initialized by 32bit unsigned. teh others are 32bit unsigned. So this likely would not fit very well in AVRational based functions [...] -- Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB You can kill me, but you cannot change the truth.
signature.asc
Description: PGP signature
_______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel