diff --git a/libavcodec/timecode.c b/libavcodec/timecode.c index 420b276c20..95aed96d9e 100644 --- a/libavcodec/timecode.c +++ b/libavcodec/timecode.c @@ -91,7 +91,7 @@ char *avpriv_timecode_to_string(char *buf, const struct ff_timecode *tc, unsigne ss = frame_num / fps % 60; mm = frame_num / (fps*60) % 60; hh = frame_num / (fps*3600) % 24; - snprintf(buf, sizeof("hh:mm:ss.ff"), "%02d:%02d:%02d%c%02d", + snprintf(buf, 16, "%02d:%02d:%02d%c%02d", hh, mm, ss, tc->drop ? ';' : ':', ff); return buf; } diff --git a/libavcodec/timecode.h b/libavcodec/timecode.h index 50ea313afa..a2b6b0903b 100644 --- a/libavcodec/timecode.h +++ b/libavcodec/timecode.h @@ -67,8 +67,8 @@ uint32_t avpriv_framenum_to_smpte_timecode(unsigned frame, int fps, int drop); * @param tc Timecode struct pointer * @param frame Frame id (timecode frame is computed with tc->start+frame) * @return a pointer to the buf parameter - * @note buf must have enough space to store the timecode representation - * (sizeof("hh:mm:ss.ff")) + * @note buf must have enough space to store the timecode representation: 16 + * bytes is the minimum required size. */ char *avpriv_timecode_to_string(char *buf, const struct ff_timecode *tc, unsigned frame); diff --git a/libavfilter/vf_drawtext.c b/libavfilter/vf_drawtext.c index 0de5b9f820..d0d854b994 100644 --- a/libavfilter/vf_drawtext.c +++ b/libavfilter/vf_drawtext.c @@ -731,7 +731,7 @@ static int draw_text(AVFilterContext *ctx, AVFilterBufferRef *picref, #if CONFIG_AVCODEC if (dtext->tc.str) { - char tcbuf[sizeof("hh:mm:ss.ff")]; + char tcbuf[16]; avpriv_timecode_to_string(tcbuf, &dtext->tc, dtext->frame_id++); buf = av_asprintf("%s%s", dtext->text, tcbuf); }