diff options
author | Timo Warns | 2011-05-06 11:04:24 +0200 |
---|---|---|
committer | Karel Zak | 2011-05-06 12:37:36 +0200 |
commit | b61b85c7d9a229e567e2e0b126e3e47c8caacb91 (patch) | |
tree | f166ccfa1c4d7d1568a1ce5ccd3d74661545df86 /shlibs | |
parent | docs: update TODO file (diff) | |
download | kernel-qcow2-util-linux-b61b85c7d9a229e567e2e0b126e3e47c8caacb91.tar.gz kernel-qcow2-util-linux-b61b85c7d9a229e567e2e0b126e3e47c8caacb91.tar.xz kernel-qcow2-util-linux-b61b85c7d9a229e567e2e0b126e3e47c8caacb91.zip |
libblkid: validate hfs blocksize != 0
Validate that blocksize != 0 as a blocksize == 0 can cause
a division-by-zero error.
Signed-off-by: Timo Warns <warns@pre-sense.de>
Diffstat (limited to 'shlibs')
-rw-r--r-- | shlibs/blkid/src/superblocks/hfs.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/shlibs/blkid/src/superblocks/hfs.c b/shlibs/blkid/src/superblocks/hfs.c index aa9da0ce6..a03ee4851 100644 --- a/shlibs/blkid/src/superblocks/hfs.c +++ b/shlibs/blkid/src/superblocks/hfs.c @@ -225,6 +225,9 @@ static int probe_hfsplus(blkid_probe pr, const struct blkid_idmag *mag) hfs_set_uuid(pr, hfsplus->finder_info.id, sizeof(hfsplus->finder_info.id)); blocksize = be32_to_cpu(hfsplus->blocksize); + if (blocksize == 0) + return 0; + memcpy(extents, hfsplus->cat_file.extents, sizeof(extents)); cat_block = be32_to_cpu(extents[0].start_block); |