diff --git a/libavformat/libsmbclient.c b/libavformat/libsmbclient.c
index b68cd8bd79fb446124eafc49a6f9f2034ba594b5..3285868957441aabb122cf5607fdc6623129ede7 100644
--- a/libavformat/libsmbclient.c
+++ b/libavformat/libsmbclient.c
@@ -166,7 +166,7 @@ static int libsmbc_read(URLContext *h, unsigned char *buf, int size)
         return ret;
     }
 
-    return bytes_read;
+    return bytes_read ? bytes_read : AVERROR_EOF;
 }
 
 static int libsmbc_write(URLContext *h, const unsigned char *buf, int size)