Module: libav Branch: master Commit: dc5385806339f90b4eb074d9002205ebb4010cc2
Author: Martin Storsjö <[email protected]> Committer: Martin Storsjö <[email protected]> Date: Sat Jun 23 21:46:26 2012 +0300 wtv: Check the return value from gmtime On MSVC, gmtime returns NULL for values outside of their supported range (and these show up in our fate test). This doesn't seem to affect the actual fate test result. Signed-off-by: Martin Storsjö <[email protected]> --- libavformat/wtv.c | 18 +++++++++++++++--- 1 files changed, 15 insertions(+), 3 deletions(-) diff --git a/libavformat/wtv.c b/libavformat/wtv.c index 07549b2..83f1bc1 100644 --- a/libavformat/wtv.c +++ b/libavformat/wtv.c @@ -443,7 +443,11 @@ static int read_probe(AVProbeData *p) static void filetime_to_iso8601(char *buf, int buf_size, int64_t value) { time_t t = (value / 10000000LL) - 11644473600LL; - strftime(buf, buf_size, "%Y-%m-%d %H:%M:%S", gmtime(&t)); + struct tm *tm = gmtime(&t); + if (tm) + strftime(buf, buf_size, "%Y-%m-%d %H:%M:%S", gmtime(&t)); + else + buf[0] = '\0'; } /** @@ -452,7 +456,11 @@ static void filetime_to_iso8601(char *buf, int buf_size, int64_t value) static void crazytime_to_iso8601(char *buf, int buf_size, int64_t value) { time_t t = (value / 10000000LL) - 719162LL*86400LL; - strftime(buf, buf_size, "%Y-%m-%d %H:%M:%S", gmtime(&t)); + struct tm *tm = gmtime(&t); + if (tm) + strftime(buf, buf_size, "%Y-%m-%d %H:%M:%S", gmtime(&t)); + else + buf[0] = '\0'; } /** @@ -461,7 +469,11 @@ static void crazytime_to_iso8601(char *buf, int buf_size, int64_t value) static void oledate_to_iso8601(char *buf, int buf_size, int64_t value) { time_t t = 631112400LL + 86400*av_int2double(value); - strftime(buf, buf_size, "%Y-%m-%d %H:%M:%S", gmtime(&t)); + struct tm *tm = gmtime(&t); + if (tm) + strftime(buf, buf_size, "%Y-%m-%d %H:%M:%S", gmtime(&t)); + else + buf[0] = '\0'; } static void get_attachment(AVFormatContext *s, AVIOContext *pb, int length) _______________________________________________ libav-commits mailing list [email protected] https://lists.libav.org/mailman/listinfo/libav-commits
