aboutsummaryrefslogtreecommitdiffstats
path: root/fs/udf/super.c
diff options
context:
space:
mode:
authorDmitriy Monakhov <dmonakhov@openvz.org>2007-05-08 03:35:22 -0400
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-05-08 14:15:22 -0400
commit951744fea0aea9adbd7c8cacb3605f2d69a66f96 (patch)
treec46aec13c4a5f3924bc5a73bced68269f275ff2b /fs/udf/super.c
parent31170b6ad4ebe6c43c1cc3b8112274cf59474de0 (diff)
udf: possible null pointer dereference while load_partition
sb_read may return NULL, let's explicitly check it. Signed-off-by: Dmitriy Monakhov <dmonakhov@openvz.org> Cc: Jan Kara <jack@ucw.cz> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'fs/udf/super.c')
-rw-r--r--fs/udf/super.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/fs/udf/super.c b/fs/udf/super.c
index a92daaba6c4c..9b8644a06e53 100644
--- a/fs/udf/super.c
+++ b/fs/udf/super.c
@@ -1403,6 +1403,8 @@ udf_load_partition(struct super_block *sb, kernel_lb_addr *fileset)
1403 1403
1404 pos = udf_block_map(UDF_SB_VAT(sb), 0); 1404 pos = udf_block_map(UDF_SB_VAT(sb), 0);
1405 bh = sb_bread(sb, pos); 1405 bh = sb_bread(sb, pos);
1406 if (!bh)
1407 return 1;
1406 UDF_SB_TYPEVIRT(sb,i).s_start_offset = 1408 UDF_SB_TYPEVIRT(sb,i).s_start_offset =
1407 le16_to_cpu(((struct virtualAllocationTable20 *)bh->b_data + udf_ext0_offset(UDF_SB_VAT(sb)))->lengthHeader) + 1409 le16_to_cpu(((struct virtualAllocationTable20 *)bh->b_data + udf_ext0_offset(UDF_SB_VAT(sb)))->lengthHeader) +
1408 udf_ext0_offset(UDF_SB_VAT(sb)); 1410 udf_ext0_offset(UDF_SB_VAT(sb));