[libav-devel] [PATCH 1/2] file: properly forward errors from file_read() and file_write()

Sean McGovern gseanmcg at gmail.com
Thu Aug 27 06:04:15 CEST 2015


Bug-Id: 881

CC: libav-stable at libav.org
---
 libavformat/file.c |    6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/libavformat/file.c b/libavformat/file.c
index 2837e9f..b54db9a 100644
--- a/libavformat/file.c
+++ b/libavformat/file.c
@@ -59,13 +59,15 @@ static const AVClass file_class = {
 static int file_read(URLContext *h, unsigned char *buf, int size)
 {
     FileContext *c = h->priv_data;
-    return read(c->fd, buf, size);
+    int ret = read(c->fd, buf, size);
+    return (ret == -1) ? AVERROR(errno) : ret;
 }
 
 static int file_write(URLContext *h, const unsigned char *buf, int size)
 {
     FileContext *c = h->priv_data;
-    return write(c->fd, buf, size);
+    int ret = write(c->fd, buf, size);
+    return (ret == -1) ? AVERROR(errno) : ret;
 }
 
 static int file_get_handle(URLContext *h)
-- 
1.7.9.2



More information about the libav-devel mailing list