[FFmpeg-devel] [PATCH] mpegts: prevent division by zero
Andreas Cadhalpun
andreas.cadhalpun at googlemail.com
Tue Nov 8 22:38:49 EET 2016
On 08.11.2016 21:09, Michael Niedermayer wrote:
> On Tue, Nov 08, 2016 at 07:47:02PM +0100, Andreas Cadhalpun wrote:
>> On 08.11.2016 00:54, Michael Niedermayer wrote:
>>> 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
>>
>> That's a good idea. New patch attached.
>
> LGTM, maybe add a av_log() so the user knows of the issue
Makes sense, patch with added log message is attached.
> (especially
> if all pcr are systematically bad, n which case this would need to be
> adjusted to not fail)
What do you think should be done in that case?
Best regards,
Andreas
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-mpegts-prevent-division-by-zero.patch
Type: text/x-diff
Size: 1470 bytes
Desc: not available
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20161108/26a509f1/attachment.patch>
More information about the ffmpeg-devel
mailing list