diff options
author | Xiao Ni <xni@redhat.com> | 2024-07-26 09:14:12 +0200 |
---|---|---|
committer | Mariusz Tkaczyk <mariusz.tkaczyk@linux.intel.com> | 2024-08-05 11:13:30 +0200 |
commit | e055d9236a7d0dca2a311e8bb8013018dc571d6a (patch) | |
tree | 808ef7c853ab8fe0c68bc49fbd988c4104d66a2c /super0.c | |
parent | mdadm/mdstat: fix coverity issue CHECKED_RETURN (diff) | |
download | mdadm-e055d9236a7d0dca2a311e8bb8013018dc571d6a.tar.xz mdadm-e055d9236a7d0dca2a311e8bb8013018dc571d6a.zip |
mdadm/super0: fix coverity issue CHECKED_RETURN and EVALUATION_ORDER
Fix coverity problems in super0. It needs to check return value when
functions return value. And fix EVALUATION_ORDER problems in super0.c
Signed-off-by: Xiao Ni <xni@redhat.com>
Signed-off-by: Mariusz Tkaczyk <mariusz.tkaczyk@linux.intel.com>
Diffstat (limited to 'super0.c')
-rw-r--r-- | super0.c | 10 |
1 files changed, 7 insertions, 3 deletions
@@ -83,6 +83,9 @@ static void examine_super0(struct supertype *st, char *homehost) int d; int delta_extra = 0; char *c; + unsigned long expected_csum = 0; + + expected_csum = calc_sb0_csum(sb); printf(" Magic : %08x\n", sb->md_magic); printf(" Version : %d.%02d.%02d\n", @@ -187,11 +190,11 @@ static void examine_super0(struct supertype *st, char *homehost) printf("Working Devices : %d\n", sb->working_disks); printf(" Failed Devices : %d\n", sb->failed_disks); printf(" Spare Devices : %d\n", sb->spare_disks); - if (calc_sb0_csum(sb) == sb->sb_csum) + if (expected_csum == sb->sb_csum) printf(" Checksum : %x - correct\n", sb->sb_csum); else printf(" Checksum : %x - expected %lx\n", - sb->sb_csum, calc_sb0_csum(sb)); + sb->sb_csum, expected_csum); printf(" Events : %llu\n", ((unsigned long long)sb->events_hi << 32) + sb->events_lo); printf("\n"); @@ -1212,7 +1215,8 @@ static int locate_bitmap0(struct supertype *st, int fd, int node_num) offset += MD_SB_BYTES; - lseek64(fd, offset, 0); + if (lseek64(fd, offset, 0) < 0) + return -1; return 0; } |