summaryrefslogtreecommitdiffstats
path: root/sys/ufs
diff options
context:
space:
mode:
authordillon <dillon@FreeBSD.org>2000-03-09 18:54:59 +0000
committerdillon <dillon@FreeBSD.org>2000-03-09 18:54:59 +0000
commit464af2ea2776fe726056be70827a7ad6a892b476 (patch)
tree15de6febd1faf9f156cfe7ce0fac879748556d03 /sys/ufs
parent62f215a16f0bb6bee8de286f75380af61a8981bb (diff)
downloadFreeBSD-src-464af2ea2776fe726056be70827a7ad6a892b476.zip
FreeBSD-src-464af2ea2776fe726056be70827a7ad6a892b476.tar.gz
In the 'found' case for ufs_lookup() the underlying bp's data was
being accessed after the bp had been releaed. A simple move of the brelse() solves the problem. Approved by: jkh Submitted by: Ian Dowse <iedowse@maths.tcd.ie>
Diffstat (limited to 'sys/ufs')
-rw-r--r--sys/ufs/ufs/ufs_lookup.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/ufs/ufs/ufs_lookup.c b/sys/ufs/ufs/ufs_lookup.c
index 7a0232d..a5be8e7 100644
--- a/sys/ufs/ufs/ufs_lookup.c
+++ b/sys/ufs/ufs/ufs_lookup.c
@@ -313,7 +313,6 @@ searchloop:
}
dp->i_ino = ep->d_ino;
dp->i_reclen = ep->d_reclen;
- brelse(bp);
goto found;
}
}
@@ -417,6 +416,7 @@ found:
dp->i_size = entryoffsetinblock + DIRSIZ(OFSFMT(vdp), ep);
dp->i_flag |= IN_CHANGE | IN_UPDATE;
}
+ brelse(bp);
/*
* Found component in pathname.
OpenPOWER on IntegriCloud