summaryrefslogtreecommitdiffstats
path: root/sys/fs/udf/udf_vnops.c
diff options
context:
space:
mode:
authorkib <kib@FreeBSD.org>2016-11-29 08:12:18 +0000
committerkib <kib@FreeBSD.org>2016-11-29 08:12:18 +0000
commitb77adef4ef3ad9fb6790f5c5d39e1a6cc1012822 (patch)
treec8007502bf4d57ecd4daba9c0e04916ac551f170 /sys/fs/udf/udf_vnops.c
parentc51f6787a647166396feff008bf0bb630bedf8fc (diff)
downloadFreeBSD-src-b77adef4ef3ad9fb6790f5c5d39e1a6cc1012822.zip
FreeBSD-src-b77adef4ef3ad9fb6790f5c5d39e1a6cc1012822.tar.gz
MFC r308995:
Do not dereference bp after bread(9) on error.
Diffstat (limited to 'sys/fs/udf/udf_vnops.c')
-rw-r--r--sys/fs/udf/udf_vnops.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/fs/udf/udf_vnops.c b/sys/fs/udf/udf_vnops.c
index 8e0d25e..7432283 100644
--- a/sys/fs/udf/udf_vnops.c
+++ b/sys/fs/udf/udf_vnops.c
@@ -487,11 +487,11 @@ udf_read(struct vop_read_args *ap)
} else {
error = bread(vp, lbn, size, NOCRED, &bp);
}
- n = min(n, size - bp->b_resid);
- if (error) {
+ if (error != 0) {
brelse(bp);
return (error);
}
+ n = min(n, size - bp->b_resid);
error = uiomove(bp->b_data + on, (int)n, uio);
brelse(bp);
OpenPOWER on IntegriCloud