]> git.ipfire.org Git - thirdparty/mdadm.git/commitdiff
mdadm/super1: fix coverity issue EVALUATION_ORDER
authorXiao Ni <xni@redhat.com>
Fri, 26 Jul 2024 07:14:15 +0000 (15:14 +0800)
committerMariusz Tkaczyk <mariusz.tkaczyk@linux.intel.com>
Mon, 5 Aug 2024 09:14:18 +0000 (11:14 +0200)
Fix evaluation order problems in super1.c

Signed-off-by: Xiao Ni <xni@redhat.com>
Signed-off-by: Mariusz Tkaczyk <mariusz.tkaczyk@linux.intel.com>
super1.c

index 24bc10269dbf5dd4cdced73f973ef77e67eb97ef..243eeb1a017437d7465e550729f40fb2c38c1aa5 100644 (file)
--- a/super1.c
+++ b/super1.c
@@ -340,6 +340,9 @@ static void examine_super1(struct supertype *st, char *homehost)
        unsigned long long sb_offset;
        struct mdinfo info;
        int inconsistent = 0;
+       unsigned int expected_csum = 0;
+
+       expected_csum = calc_sb_1_csum(sb);
 
        printf("          Magic : %08x\n", __le32_to_cpu(sb->magic));
        printf("        Version : 1");
@@ -507,13 +510,13 @@ static void examine_super1(struct supertype *st, char *homehost)
                printf("\n");
        }
 
-       if (calc_sb_1_csum(sb) == sb->sb_csum)
+       if (expected_csum == sb->sb_csum)
                printf("       Checksum : %x - correct\n",
                       __le32_to_cpu(sb->sb_csum));
        else
                printf("       Checksum : %x - expected %x\n",
                       __le32_to_cpu(sb->sb_csum),
-                      __le32_to_cpu(calc_sb_1_csum(sb)));
+                      __le32_to_cpu(expected_csum));
        printf("         Events : %llu\n",
               (unsigned long long)__le64_to_cpu(sb->events));
        printf("\n");