From a52cb42ba662971cd4b65c06fec5c742368d38d8 Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Sun, 2 Nov 2014 19:19:07 +0100 Subject: [PATCH] avformat/matroskadec: use gmtime_r() for thread saftey Signed-off-by: Michael Niedermayer --- libavformat/matroskadec.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/libavformat/matroskadec.c b/libavformat/matroskadec.c index 100e697089..f29a2904f9 100644 --- a/libavformat/matroskadec.c +++ b/libavformat/matroskadec.c @@ -46,6 +46,7 @@ #include "libavutil/intreadwrite.h" #include "libavutil/lzo.h" #include "libavutil/mathematics.h" +#include "libavutil/time_internal.h" #include "libavcodec/bytestream.h" #include "libavcodec/flac.h" @@ -1507,7 +1508,7 @@ static void matroska_metadata_creation_time(AVDictionary **metadata, int64_t dat char buffer[32]; /* Convert to seconds and adjust by number of seconds between 2001-01-01 and Epoch */ time_t creation_time = date_utc / 1000000000 + 978307200; - struct tm *ptm = gmtime(&creation_time); + struct tm tmpbuf, *ptm = gmtime_r(&creation_time, &tmpbuf); if (!ptm) return; if (strftime(buffer, sizeof(buffer), "%Y-%m-%d %H:%M:%S", ptm)) av_dict_set(metadata, "creation_time", buffer, 0);