From 26f6b8c571bcff7b325c7d6cc226c625dd465f8e Mon Sep 17 00:00:00 2001 From: =?utf8?q?Martin=20Storsj=C3=B6?= Date: Wed, 20 Apr 2011 17:09:46 +0300 Subject: [PATCH] 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 --- libavformat/avio.c | 4 ++-- 1 file 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); } -- 2.7.4