diff options
author | imp <imp@FreeBSD.org> | 2015-03-01 21:41:37 +0000 |
---|---|---|
committer | imp <imp@FreeBSD.org> | 2015-03-01 21:41:37 +0000 |
commit | 58c94606707d60fc809e545dc78735fdbc57b06a (patch) | |
tree | 7f9381c096dc27b88b91bc696dcc4303fbfbc163 /sys/fs/nandfs | |
parent | 9baadf23b3c5bd9a8c6df43581f747cb9449fa1b (diff) | |
download | FreeBSD-src-58c94606707d60fc809e545dc78735fdbc57b06a.zip FreeBSD-src-58c94606707d60fc809e545dc78735fdbc57b06a.tar.gz |
nandfs_meta_bread() calls bread() which can set bp to NULL in some
error cases. Calling brelse() with a NULL pointer is not allowed,
so only call brelse() when the bp is non-NULL.
Reported by: Maxime Villard (reported as uninitialized variable)
Diffstat (limited to 'sys/fs/nandfs')
-rw-r--r-- | sys/fs/nandfs/bmap.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/fs/nandfs/bmap.c b/sys/fs/nandfs/bmap.c index 10dd057..35f9435 100644 --- a/sys/fs/nandfs/bmap.c +++ b/sys/fs/nandfs/bmap.c @@ -317,7 +317,8 @@ bmap_truncate_indirect(struct nandfs_node *node, int level, nandfs_lbn_t *left, error = nandfs_bread_meta(node, lbn, NOCRED, 0, &bp); if (error) { - brelse(bp); + if (bp != NULL) + brelse(bp); return (error); } |