git: a59eba2caacf - stable/13 - bsdlabel: limit to 8 partitions
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Fri, 22 Mar 2024 18:45:25 UTC
The branch stable/13 has been updated by emaste:
URL: https://cgit.FreeBSD.org/src/commit/?id=a59eba2caacf82f741e8bbc334b2382c615744df
commit a59eba2caacf82f741e8bbc334b2382c615744df
Author: Ed Maste <emaste@FreeBSD.org>
AuthorDate: 2024-01-23 02:05:58 +0000
Commit: Ed Maste <emaste@FreeBSD.org>
CommitDate: 2024-03-22 18:45:13 +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
(cherry picked from commit 3f4f82c0d7791bddf2d6f2c29d9f2f8c48c712e2)
(cherry picked from commit a323dd42bcacdcd6b710fb90ba6691c6ce60cd3d)
---
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 7c7a5bbd6219..5f45039caecb 100644
--- a/sbin/bsdlabel/bsdlabel.c
+++ b/sbin/bsdlabel/bsdlabel.c
@@ -63,7 +63,7 @@ static char sccsid[] = "@(#)disklabel.c 8.2 (Berkeley) 1/7/94";
#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>