[FFmpeg-devel] [PATCH] libavformat/r3d.c: Fix Use-of-uninitialized-value in filename.

Thierry Foucu tfoucu at gmail.com
Thu Aug 20 01:51:02 EEST 2020


While reading the filename tag, it mays return a EOF and we are still
copying the file with uninitialized value.
---
 libavformat/r3d.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/libavformat/r3d.c b/libavformat/r3d.c
index 7aa0c5a2c3..d013b8c30e 100644
--- a/libavformat/r3d.c
+++ b/libavformat/r3d.c
@@ -56,6 +56,7 @@ static int r3d_read_red1(AVFormatContext *s)
     R3DContext *r3d = s->priv_data;
     char filename[258];
     int tmp;
+    int ret;
     int av_unused tmp2;
     AVRational framerate;
 
@@ -97,7 +98,9 @@ static int r3d_read_red1(AVFormatContext *s)
     r3d->audio_channels = avio_r8(s->pb); // audio channels
     av_log(s, AV_LOG_TRACE, "audio channels %d\n", tmp);
 
-    avio_read(s->pb, filename, 257);
+    ret = avio_read(s->pb, filename, 257);
+    if (ret < 257)
+        return AVERROR_EOF;
     filename[sizeof(filename)-1] = 0;
     av_dict_set(&st->metadata, "filename", filename, 0);
 
-- 
2.28.0.220.ged08abb693-goog



More information about the ffmpeg-devel mailing list