[FFmpeg-cvslog] avio: Fix sanity checks in ffurl_read*

Martin Storsjö git at videolan.org
Thu Apr 21 03:40:32 CEST 2011


ffmpeg | branch: master | Martin Storsjö <martin at martin.st> | Wed Apr 20 17:09:46 2011 +0300| [26f6b8c571bcff7b325c7d6cc226c625dd465f8e] | committer: Anton Khirnov

avio: Fix sanity checks in ffurl_read*

This fixes e.g. reading data over HTTP, where the underlying
socket is set to read/write.

Signed-off-by: Anton Khirnov <anton at khirnov.net>

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

 libavformat/avio.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/libavformat/avio.c b/libavformat/avio.c
index 074d3ee..0702aff 100644
--- a/libavformat/avio.c
+++ b/libavformat/avio.c
@@ -289,14 +289,14 @@ static inline int retry_transfer_wrapper(URLContext *h, unsigned char *buf, int
 
 int ffurl_read(URLContext *h, unsigned char *buf, int size)
 {
-    if (h->flags & AVIO_FLAG_WRITE)
+    if (!(h->flags & AVIO_FLAG_READ))
         return AVERROR(EIO);
     return retry_transfer_wrapper(h, buf, size, 1, h->prot->url_read);
 }
 
 int ffurl_read_complete(URLContext *h, unsigned char *buf, int size)
 {
-    if (h->flags & AVIO_FLAG_WRITE)
+    if (!(h->flags & AVIO_FLAG_READ))
         return AVERROR(EIO);
     return retry_transfer_wrapper(h, buf, size, size, h->prot->url_read);
 }



More information about the ffmpeg-cvslog mailing list