]> git.ipfire.org Git - thirdparty/util-linux.git/commitdiff
libblkid: use more robust code in silicon_raid checksum prober
authorKarel Zak <kzak@redhat.com>
Wed, 17 Apr 2013 14:17:46 +0000 (16:17 +0200)
committerKarel Zak <kzak@redhat.com>
Wed, 17 Apr 2013 14:17:46 +0000 (16:17 +0200)
Signed-off-by: Karel Zak <kzak@redhat.com>
libblkid/src/superblocks/silicon_raid.c

index a335cbc9bacfecbb7455c204480618afbf98e7bf..aeab4bf31954dea034f64fb9f7e38c70177964e1 100644 (file)
@@ -73,8 +73,10 @@ static int checksum(struct silicon_metadata *sil)
        unsigned short count = offsetof(struct silicon_metadata, checksum1) / 2;
        uint16_t *p = (uint16_t *) sil;
 
-       while (count--)
-               sum += le16_to_cpu(*p++);
+       while (count--) {
+               uint16_t x = *p++;
+               sum += le16_to_cpu(x);
+       }
 
        return (-sum & 0xFFFF) == le16_to_cpu(sil->checksum1);
 }