diff options
author | dillon <dillon@FreeBSD.org> | 2000-03-09 18:54:59 +0000 |
---|---|---|
committer | dillon <dillon@FreeBSD.org> | 2000-03-09 18:54:59 +0000 |
commit | 464af2ea2776fe726056be70827a7ad6a892b476 (patch) | |
tree | 15de6febd1faf9f156cfe7ce0fac879748556d03 /sys/ufs | |
parent | 62f215a16f0bb6bee8de286f75380af61a8981bb (diff) | |
download | FreeBSD-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.c | 2 |
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. |