From 29a812550c8f95a022b2ff5b10759efa7776876a Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Tue, 1 Nov 2022 09:05:48 +0100 Subject: [PATCH] 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 --- libblkid/src/superblocks/romfs.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) 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); -- 2.47.3