diff options
author | Ganesh Ajjanagadde <gajjanagadde@gmail.com> | 2015-10-09 10:39:27 -0400 |
---|---|---|
committer | Michael Niedermayer <michael@niedermayer.cc> | 2015-10-09 21:19:39 +0200 |
commit | 2f4374fae135afeee84f987c8fab8cbad1c7fcc7 (patch) | |
tree | 4740fc232801d0515651666f7b00d9883aef8b0d /libavcodec/mpegutils.h | |
parent | d6cfbcd6219a6c9155864ca87c77bad524184542 (diff) | |
download | ffmpeg-2f4374fae135afeee84f987c8fab8cbad1c7fcc7.tar.gz |
ffmpeg: avoid possible undefined behavior
On lines 1633,1634 FFABS(pts) is performed. However, if av_stream_get_end_pts
returns AV_NOPTS_VALUE always, pts remains stuck at INT64_MIN, leading
to undefined behavior on FFABS.
One could conceive of a solution using FFNABS. However, such a solution
has to deal with the implementation defined rounding of integer division
with at least one negative operand in ANSI C89. C99 forces truncation to
zero, but I am not sure that all of our platforms compile with full C99
support, and in particular whether we can safely assume a fixed
rounding behavior across all platforms.
This solution is simple, and I doubt changing INT64_MIN to INT64_MIN + 1
has any practical loss - if it is stuck at its initial value, the stream
is messed up anyway.
Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Diffstat (limited to 'libavcodec/mpegutils.h')
0 files changed, 0 insertions, 0 deletions