]> git.sesse.net Git - ffmpeg/commitdiff
lavf/webvttenc: fix avio_printf argument types after bump
authorAnton Khirnov <anton@khirnov.net>
Sun, 4 Apr 2021 08:41:59 +0000 (10:41 +0200)
committerAnton Khirnov <anton@khirnov.net>
Thu, 8 Apr 2021 09:03:15 +0000 (11:03 +0200)
Field precision supplied with the '*' specification must be an int.

libavformat/webvttenc.c

index 552bc38b65004ed22ec51a22897bc72c1b56a255..809fead69f56a8e1041b563f0da90865314ad366 100644 (file)
@@ -65,6 +65,7 @@ static int webvtt_write_packet(AVFormatContext *ctx, AVPacket *pkt)
 {
     AVIOContext  *pb = ctx->pb;
     buffer_size_t id_size, settings_size;
+    int id_size_int, settings_size_int;
     uint8_t *id, *settings;
 
     avio_printf(pb, "\n");
@@ -72,8 +73,12 @@ static int webvtt_write_packet(AVFormatContext *ctx, AVPacket *pkt)
     id = av_packet_get_side_data(pkt, AV_PKT_DATA_WEBVTT_IDENTIFIER,
                                  &id_size);
 
-    if (id && id_size > 0)
-        avio_printf(pb, "%.*s\n", id_size, id);
+    if (id_size > INT_MAX)
+        return AVERROR(EINVAL);
+
+    id_size_int = id_size;
+    if (id && id_size_int > 0)
+        avio_printf(pb, "%.*s\n", id_size_int, id);
 
     webvtt_write_time(pb, pkt->pts);
     avio_printf(pb, " --> ");
@@ -82,8 +87,12 @@ static int webvtt_write_packet(AVFormatContext *ctx, AVPacket *pkt)
     settings = av_packet_get_side_data(pkt, AV_PKT_DATA_WEBVTT_SETTINGS,
                                        &settings_size);
 
-    if (settings && settings_size > 0)
-        avio_printf(pb, " %.*s", settings_size, settings);
+    if (settings_size_int > INT_MAX)
+        return AVERROR(EINVAL);
+
+    settings_size_int = settings_size;
+    if (settings && settings_size_int > 0)
+        avio_printf(pb, " %.*s", settings_size_int, settings);
 
     avio_printf(pb, "\n");