> The store to *eofp sets eofflag, so that is not the problem.

Indeed, I missed that.  Checking the rest of the function, I see no problem 
here.
 
> Based on the presence of "efi" as a component name in the stack trace
> that Charlie provided, I suspect the problem is rather in msdosfs, but I
> don't immediately see what's wrong there.

Based on that, I've just read msdosfs_readdir(), and the problem could be there:
"""
if (dep->de_FileSize - (offset - bias) <= 0)
"""
because dep->de_FileSize is an *unsigned* long, and the test only passes with 
'offset - bias' exactly equal to 'de_FileSize'.  The assignment to `diff` in 
the loop above would be wrong as well.

-- 
Olivier Certner

Attachment: signature.asc
Description: This is a digitally signed message part.

Reply via email to