aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Niedermayer <michael@niedermayer.cc>2024-07-16 21:23:40 +0200
committerMichael Niedermayer <michael@niedermayer.cc>2024-07-21 15:29:25 +0200
commitd5ca373d7efa37d2d3911f0afbc85fad0dc86b38 (patch)
tree5080d4248db79603703af1cbd548b938ec259fb9
parent7110a36ba07f85ca2996d3b99898a4819e72d9bb (diff)
downloadffmpeg-d5ca373d7efa37d2d3911f0afbc85fad0dc86b38.tar.gz
avutil/timecode: Use a 64bit framenum internally
Fixes: negation of -2147483648 cannot be represented in type 'int'; cast to an unsigned type to negate this value to itself Fixes: 68550/clusterfuzz-testcase-minimized-ffmpeg_dem_MXF_fuzzer-6424065930756096 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
-rw-r--r--libavutil/timecode.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/libavutil/timecode.c b/libavutil/timecode.c
index bd879bd3cc..f40a10eb38 100644
--- a/libavutil/timecode.c
+++ b/libavutil/timecode.c
@@ -100,11 +100,12 @@ uint32_t av_timecode_get_smpte(AVRational rate, int drop, int hh, int mm, int ss
return tc;
}
-char *av_timecode_make_string(const AVTimecode *tc, char *buf, int framenum)
+char *av_timecode_make_string(const AVTimecode *tc, char *buf, int framenum_arg)
{
int fps = tc->fps;
int drop = tc->flags & AV_TIMECODE_FLAG_DROPFRAME;
int hh, mm, ss, ff, ff_len, neg = 0;
+ int64_t framenum = framenum_arg;
framenum += tc->start;
if (drop)