From 3c01bab8a306eb395d238717ea76e6da24f6acfe Mon Sep 17 00:00:00 2001 From: Tom Rhodes Date: Thu, 3 Jul 2003 14:54:47 +0000 Subject: [PATCH] If bread() returns a zero-length buffer, as can happen after a failed write, return an error instead of looping forever. PR: 37035 Submitted by: das --- sys/fs/msdosfs/msdosfs_vnops.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/sys/fs/msdosfs/msdosfs_vnops.c b/sys/fs/msdosfs/msdosfs_vnops.c index 6a8341451cc..bce6b0d151d 100644 --- a/sys/fs/msdosfs/msdosfs_vnops.c +++ b/sys/fs/msdosfs/msdosfs_vnops.c @@ -1571,6 +1571,10 @@ msdosfs_readdir(ap) return (error); } n = min(n, blsize - bp->b_resid); + if (n == 0) { + brelse(bp); + return (EIO); + } /* * Convert from dos directory entries to fs-independent