From: Karel Zak Date: Tue, 1 Nov 2022 08:05:48 +0000 (+0100) Subject: libblkid: cleanup romfs prober X-Git-Tag: v2.39-rc1~445 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=29a812550c8f95a022b2ff5b10759efa7776876a;p=thirdparty%2Futil-linux.git libblkid: cleanup romfs prober * make sure blkid_probe_get_sb_buffer() returns data * define variables at the beginning of function Signed-off-by: Karel Zak --- diff --git a/libblkid/src/superblocks/romfs.c b/libblkid/src/superblocks/romfs.c index fd8837c5a4..456cbfb7d6 100644 --- a/libblkid/src/superblocks/romfs.c +++ b/libblkid/src/superblocks/romfs.c @@ -29,13 +29,17 @@ static int romfs_verify_csum(blkid_probe pr, const struct blkid_idmag *mag, { uint32_t csummed_size = min((uint32_t) 512, be32_to_cpu(ros->ros_full_size)); + unsigned char *csummed; + uint32_t csum; + if (csummed_size % sizeof(uint32_t) != 0) return 0; - unsigned char *csummed = blkid_probe_get_sb_buffer(pr, mag, - csummed_size); + csummed = blkid_probe_get_sb_buffer(pr, mag, csummed_size); + if (!csummed) + return 0; - uint32_t csum = 0; + csum = 0; while (csummed_size) { csum += be32_to_cpu(*(uint32_t *) csummed); csummed_size -= sizeof(uint32_t);