found 31923 3.2

We've hit this on Adélie Linux on ppc64.  This actually is an endianness
bug.

The attached patch fixes the bug and allows it to pass the test suite
and correctly create a new BSD disk label on big endian computers.

If this patch is acceptable, I can create it in Git format.  Or you can
yourself, my Author line should be:

Author: A. Wilcox <awil...@wilcox-tech.com>


Best,
--arw

-- 
A. Wilcox (awilfox)
Project Lead, Adélie Linux
https://www.adelielinux.org
See-Also: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=31923

--- parted-3.2/libparted/labels/bsd.c.old       2014-06-15 18:17:43.000000000 
+0000
+++ parted-3.2/libparted/labels/bsd.c   2019-08-05 05:48:52.914401379 +0000
@@ -364,7 +364,7 @@
                max_part = i;
        }
 
-       label->d_npartitions = PED_CPU_TO_LE16 (max_part) + 1;
+       label->d_npartitions = PED_CPU_TO_LE16 (max_part + 1);
        label->d_checksum = xbsd_dkcksum (label);
 
        alpha_bootblock_checksum (bsd_specific->boot_code);

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to