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

Thierry Foucu git at videolan.org
Thu Aug 20 14:28:56 EEST 2020


ffmpeg | branch: master | Thierry Foucu <tfoucu at gmail.com> | Wed Aug 19 15:51:02 2020 -0700| [36f7b83568764ae73d0c7b3a43f1e3d3df234033] | committer: Michael Niedermayer

libavformat/r3d.c: Fix Use-of-uninitialized-value in filename.

While reading the filename tag, it may return a EOF and we are still
copying the file with uninitialized value.

Signed-off-by: Michael Niedermayer <michael at niedermayer.cc>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=36f7b83568764ae73d0c7b3a43f1e3d3df234033
---

 libavformat/r3d.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/libavformat/r3d.c b/libavformat/r3d.c
index 7aa0c5a2c3..606ed010d6 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 ret < 0 ? ret : AVERROR_EOF;
     filename[sizeof(filename)-1] = 0;
     av_dict_set(&st->metadata, "filename", filename, 0);
 



More information about the ffmpeg-cvslog mailing list