]> git.ipfire.org Git - thirdparty/util-linux.git/commitdiff
libblkid: cleanup romfs prober
authorKarel Zak <kzak@redhat.com>
Tue, 1 Nov 2022 08:05:48 +0000 (09:05 +0100)
committerKarel Zak <kzak@redhat.com>
Tue, 1 Nov 2022 08:05:48 +0000 (09:05 +0100)
* make sure blkid_probe_get_sb_buffer() returns data
* define variables at the beginning of function

Signed-off-by: Karel Zak <kzak@redhat.com>
libblkid/src/superblocks/romfs.c

index fd8837c5a428aae98a1c0125d80fb168d66ab2bc..456cbfb7d619c7eda8ff7c90237640743a9748fe 100644 (file)
@@ -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);