[FFmpeg-devel] [PATCH] mpegts: prevent division by zero
Michael Niedermayer
michael at niedermayer.cc
Tue Nov 8 01:54:07 EET 2016
On Mon, Nov 07, 2016 at 11:49:52PM +0100, Andreas Cadhalpun wrote:
> Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun at googlemail.com>
> ---
> libavformat/mpegts.c | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/libavformat/mpegts.c b/libavformat/mpegts.c
> index fad10c6..77d63f2 100644
> --- a/libavformat/mpegts.c
> +++ b/libavformat/mpegts.c
> @@ -2692,6 +2692,10 @@ static int mpegts_read_header(AVFormatContext *s)
> /* NOTE1: the bitrate is computed without the FEC */
> /* NOTE2: it is only the bitrate of the start of the stream */
> ts->pcr_incr = (pcrs[1] - pcrs[0]) / (packet_count[1] - packet_count[0]);
> + if (ts->pcr_incr <= 0) {
> + av_log(s, AV_LOG_ERROR, "invalid pcr increment %d\n", ts->pcr_incr);
> + return AVERROR_INVALIDDATA;
> + }
if a pcr pair is bad i would suggest to run the loop by another
iteration
also i dont think the demuxer should fail hard and fatal from bad pcr
(it would fail completely if it fails at header reading time)
[...]
--
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
If you fake or manipulate statistics in a paper in physics you will never
get a job again.
If you fake or manipulate statistics in a paper in medicin you will get
a job for life at the pharma industry.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: Digital signature
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20161108/b13142ae/attachment.sig>
More information about the ffmpeg-devel
mailing list