diff options
author | Dmitriy Monakhov <dmonakhov@openvz.org> | 2007-05-08 00:35:22 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-05-08 11:15:22 -0700 |
commit | 951744fea0aea9adbd7c8cacb3605f2d69a66f96 (patch) | |
tree | c46aec13c4a5f3924bc5a73bced68269f275ff2b | |
parent | 31170b6ad4ebe6c43c1cc3b8112274cf59474de0 (diff) | |
download | linux-3.10-951744fea0aea9adbd7c8cacb3605f2d69a66f96.tar.gz linux-3.10-951744fea0aea9adbd7c8cacb3605f2d69a66f96.tar.bz2 linux-3.10-951744fea0aea9adbd7c8cacb3605f2d69a66f96.zip |
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>
-rw-r--r-- | fs/udf/super.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/fs/udf/super.c b/fs/udf/super.c index a92daaba6c4..9b8644a06e5 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) pos = udf_block_map(UDF_SB_VAT(sb), 0); bh = sb_bread(sb, pos); + if (!bh) + return 1; UDF_SB_TYPEVIRT(sb,i).s_start_offset = le16_to_cpu(((struct virtualAllocationTable20 *)bh->b_data + udf_ext0_offset(UDF_SB_VAT(sb)))->lengthHeader) + udf_ext0_offset(UDF_SB_VAT(sb)); |