On Tue, Jun 06, 2017 at 06:41:55PM +0200, Robert Nagtegaal wrote: > Dear developers, > > Most unfortunately I found 2 bugs in ffserver.c Both are related to > floating point bugs. I wrote a patch and submitted it on git: > > https://github.com/masikh/FFmpeg/commit/50326ef568.patch
> commit 46f83db9da7397b1d390a98aecd8d812dee37d98 (HEAD -> master) > Author: Robert Nagtegaal <mas...@gmail.com> > Date: Tue Jun 6 18:34:23 2017 +0200 > > Update ffserver.c The first line should summarize the commit that says too little and is too generic > > This patch fixes a floating point exception. You are not allowed to > defide by zero (FPE) This is missing an explanation of how/why the variables are 0 Its important in judging if the fix is correct. also patches should be sent to the mailing list not just linked to > > diff --git a/ffserver.c b/ffserver.c > index f9f987acac..2faa4bc06a 100644 > --- a/ffserver.c > +++ b/ffserver.c > @@ -466,7 +466,7 @@ static void update_datarate(DataRateData *drd, int64_t > count) > /* In bytes per second */ > static int compute_datarate(DataRateData *drd, int64_t count) > { > - if (cur_time == drd->time1) > + if (cur_time == drd->time1 || cur_time == 0 || drd->time1 == 0) > return 0; > > return ((count - drd->count1) * 1000) / (cur_time - drd->time1); > @@ -1905,10 +1905,16 @@ static inline void print_stream_params(AVIOContext > *pb, FFServerStream *stream) > break; > case AVMEDIA_TYPE_VIDEO: > type = "video"; > - snprintf(parameters, sizeof(parameters), > - "%dx%d, q=%d-%d, fps=%d", st->codecpar->width, > - st->codecpar->height, st->codec->qmin, st->codec->qmax, > - st->time_base.den / st->time_base.num); > + if (st->time_base.num != 0) { > + snprintf(parameters, sizeof(parameters), > + "%dx%d, q=%d-%d, fps=%d", st->codecpar->width, > + st->codecpar->height, st->codec->qmin, > st->codec->qmax, > + st->time_base.den / st->time_base.num); > + } else { > + snprintf(parameters, sizeof(parameters), > + "%dx%d, q=%d-%d, fps=0", st->codecpar->width, > + st->codecpar->height, st->codec->qmin, > st->codec->qmax); > + } > break; > default: > abort(); > > > > I hope it helps! > > Kind regards, > > Robert Nagtegaal > Alias: Masikh > _______________________________________________ > ffmpeg-devel mailing list > ffmpeg-devel@ffmpeg.org > http://ffmpeg.org/mailman/listinfo/ffmpeg-devel -- Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB Democracy is the form of government in which you can choose your dictator
signature.asc
Description: Digital signature
_______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel