diff --git a/libavformat/mxfdec.c b/libavformat/mxfdec.c index 4ceaaee8445d200c23096f633b87247a2840c93c..33e1eb4b852d36a1c4e6f8bf81ba83b1d9558e4a 100644 --- a/libavformat/mxfdec.c +++ b/libavformat/mxfdec.c @@ -1668,6 +1668,10 @@ static int mxf_timestamp_to_str(uint64_t timestamp, char **str) time.tm_min = (timestamp >> 16 & 0xFF); time.tm_sec = (timestamp >> 8 & 0xFF); + /* ensure month/day are valid */ + time.tm_mon = FFMAX(time.tm_mon, 0); + time.tm_mday = FFMAX(time.tm_mday, 1); + *str = av_mallocz(32); if (!*str) return AVERROR(ENOMEM);