diff options
author | Namjae Jeon <namjae.jeon@samsung.com> | 2013-01-14 22:53:47 +0100 |
---|---|---|
committer | Jan Kara <jack@suse.cz> | 2013-01-14 22:53:47 +0100 |
commit | 1b1baff6e50df855238ce5e6c0e7dbb8a261fb32 (patch) | |
tree | 7e7454076c196c01fd262d8c8e3f735a2ca6ddd4 /fs/udf | |
parent | jbd: don't wake kjournald unnecessarily (diff) | |
download | linux-1b1baff6e50df855238ce5e6c0e7dbb8a261fb32.tar.xz linux-1b1baff6e50df855238ce5e6c0e7dbb8a261fb32.zip |
UDF: Fix a null pointer dereference in udf_sb_free_partitions
This patch fixes a regression caused by commit bff943af6fe "udf: Fix memory
leak when mounting" due to which it was triggering a kernel null point
dereference in case of interrupted mount OR when allocating memory to
sbi->s_partmaps failed in function udf_sb_alloc_partition_maps.
Reported-and-tested-by: James Hogan <james@albanarts.com>
Signed-off-by: Namjae Jeon <namjae.jeon@samsung.com>
Signed-off-by: Ashish Sangwan <a.sangwan@samsung.com>
Signed-off-by: Jan Kara <jack@suse.cz>
Diffstat (limited to 'fs/udf')
-rw-r--r-- | fs/udf/super.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/fs/udf/super.c b/fs/udf/super.c index d44fb568abe1..e9be396a558d 100644 --- a/fs/udf/super.c +++ b/fs/udf/super.c @@ -307,7 +307,8 @@ static void udf_sb_free_partitions(struct super_block *sb) { struct udf_sb_info *sbi = UDF_SB(sb); int i; - + if (sbi->s_partmaps == NULL) + return; for (i = 0; i < sbi->s_partitions; i++) udf_free_partition(&sbi->s_partmaps[i]); kfree(sbi->s_partmaps); |