Check for deleted files in udf_lookup(), not just udf_readdir().
Submitted by: tes@sgi.com
This commit is contained in:
parent
1e7ce68ff4
commit
678d5effd3
@ -965,7 +965,11 @@ udf_lookup(struct vop_cachedlookup_args *a)
|
||||
|
||||
/* XXX Should we return an error on a bad fid? */
|
||||
if (udf_checktag(&fid->tag, TAGID_FID))
|
||||
break;
|
||||
goto continue_lookup;
|
||||
|
||||
/* Is this a deleted file? */
|
||||
if (fid->file_char & 0x4)
|
||||
goto continue_lookup;
|
||||
|
||||
if ((fid->l_fi == 0) && (fid->file_char & 0x08)) {
|
||||
if (flags & ISDOTDOT) {
|
||||
@ -985,6 +989,7 @@ udf_lookup(struct vop_cachedlookup_args *a)
|
||||
* looking for. It's therefore safe to clean up from a
|
||||
* fragmented fid.
|
||||
*/
|
||||
continue_lookup:
|
||||
if (fid_fragment) {
|
||||
FREE(fid, M_UDFFID);
|
||||
fid_fragment = 0;
|
||||
|
Loading…
Reference in New Issue
Block a user