diff --git a/ffmpeg_opt.c b/ffmpeg_opt.c
index 7a5eaa5b2f7f9fe42b400e9de376ca0e37439371..27e08902d60a50c8ca7d2b255737fc0a0496eaa0 100644
--- a/ffmpeg_opt.c
+++ b/ffmpeg_opt.c
@@ -509,7 +509,8 @@ static int opt_recording_timestamp(void *optctx, const char *opt, const char *ar
     char buf[128];
     int64_t recording_timestamp = parse_time_or_die(opt, arg, 0) / 1E6;
     struct tm time = *gmtime((time_t*)&recording_timestamp);
-    strftime(buf, sizeof(buf), "creation_time=%FT%T%z", &time);
+    if (!strftime(buf, sizeof(buf), "creation_time=%FT%T%z", &time))
+        return -1;
     parse_option(o, "metadata", buf, options);
 
     av_log(NULL, AV_LOG_WARNING, "%s is deprecated, set the 'creation_time' metadata "