The branch main has been updated by emaste:

URL: 
https://cgit.FreeBSD.org/src/commit/?id=3f4f82c0d7791bddf2d6f2c29d9f2f8c48c712e2

commit 3f4f82c0d7791bddf2d6f2c29d9f2f8c48c712e2
Author:     Ed Maste <[email protected]>
AuthorDate: 2024-01-23 02:05:58 +0000
Commit:     Ed Maste <[email protected]>
CommitDate: 2024-01-23 02:17:23 +0000

    bsdlabel: limit to 8 partitions
    
    bsdlabel is intended to support up to 20 partitions, but the disklabel
    struct has a d_partitions array with only BSD_NPARTS_MIN (8) entries.
    Previously, an attempt to operate on a bsdlabel with more than eight
    partitions resulted in a buffer overflow.
    
    As a stopgap limit bsdlabel to 8 partitions until this is fixed
    properly.
    
    PR:             276517
---
 sbin/bsdlabel/bsdlabel.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sbin/bsdlabel/bsdlabel.c b/sbin/bsdlabel/bsdlabel.c
index 2c03117e344a..b831c8ba4ec6 100644
--- a/sbin/bsdlabel/bsdlabel.c
+++ b/sbin/bsdlabel/bsdlabel.c
@@ -50,7 +50,7 @@
 #include <sys/disk.h>
 #define DKTYPENAMES
 #define FSTYPENAMES
-#define MAXPARTITIONS  20
+#define MAXPARTITIONS  8 /* XXX should be 20, but see PR276517 */
 #include <sys/disklabel.h>
 
 #include <unistd.h>

Reply via email to