[FFmpeg-devel] [PATCH 1/3] avformat/file: check for lseek() failure

Michael Niedermayer michael at niedermayer.cc
Sat May 25 14:18:12 EEST 2024


Fixes: CID1559855 Unchecked return value from library

Sponsored-by: Sovereign Tech Fund
Signed-off-by: Michael Niedermayer <michael at niedermayer.cc>
---
 libavformat/file.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/libavformat/file.c b/libavformat/file.c
index 0ed4cff266c..e2ef85aa705 100644
--- a/libavformat/file.c
+++ b/libavformat/file.c
@@ -222,8 +222,10 @@ static int file_close(URLContext *h)
     FileContext *c = h->priv_data;
     int ret;
 
-    if (c->initial_pos >= 0 && !h->is_streamed)
-        lseek(c->fd, c->initial_pos, SEEK_SET);
+    if (c->initial_pos >= 0 && !h->is_streamed) {
+        if (lseek(c->fd, c->initial_pos, SEEK_SET) < 0)
+            av_log(h, AV_LOG_DEBUG, "Failed to restore position (%s)\n", av_err2str(AVERROR(errno)));
+    }
 
     ret = close(c->fd);
     return (ret == -1) ? AVERROR(errno) : 0;
-- 
2.45.1



More information about the ffmpeg-devel mailing list