parted: fix several integer overflows
Integer overflows were found in libparted/labels/dvh.c, while attemptting to assign unsigned int values to int types in some places. These overflows only can be observed on BE platforms like MIPS, when the "WORDS_BIGENDIAN" macro is defined in parted. Defined by unsigned int instead. (From OE-Core rev: 9acaa764a4df8d589011ff597bba2afc05d6e78b) Signed-off-by: Ming Liu <ming.liu@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
parent
9f1c471ed4
commit
399ca5da8c
|
@ -0,0 +1,35 @@
|
||||||
|
Upstream-Status: Pending
|
||||||
|
|
||||||
|
Signed-off-by: Ming Liu <ming.liu@windriver.com>
|
||||||
|
---
|
||||||
|
dvh.h | 10 +++++-----
|
||||||
|
1 file changed, 5 insertions(+), 5 deletions(-)
|
||||||
|
|
||||||
|
Index: parted-3.1/libparted/labels/dvh.h
|
||||||
|
===================================================================
|
||||||
|
--- parted-3.1.orig/libparted/labels/dvh.h 2013-02-25 10:46:13.204477586 +0800
|
||||||
|
+++ parted-3.1/libparted/labels/dvh.h 2013-02-25 10:47:20.954477065 +0800
|
||||||
|
@@ -112,8 +112,8 @@ struct device_parameters {
|
||||||
|
|
||||||
|
struct volume_directory {
|
||||||
|
char vd_name[VDNAMESIZE]; /* name */
|
||||||
|
- int vd_lbn; /* logical block number */
|
||||||
|
- int vd_nbytes; /* file length in bytes */
|
||||||
|
+ unsigned int vd_lbn; /* logical block number */
|
||||||
|
+ unsigned int vd_nbytes; /* file length in bytes */
|
||||||
|
};
|
||||||
|
|
||||||
|
/*
|
||||||
|
@@ -125,9 +125,9 @@ struct volume_directory {
|
||||||
|
* NOTE: pt_firstlbn SHOULD BE CYLINDER ALIGNED
|
||||||
|
*/
|
||||||
|
struct partition_table { /* one per logical partition */
|
||||||
|
- int pt_nblks; /* # of logical blks in partition */
|
||||||
|
- int pt_firstlbn; /* first lbn of partition */
|
||||||
|
- int pt_type; /* use of partition */
|
||||||
|
+ unsigned int pt_nblks; /* # of logical blks in partition */
|
||||||
|
+ unsigned int pt_firstlbn; /* first lbn of partition */
|
||||||
|
+ int pt_type; /* use of partition */
|
||||||
|
};
|
||||||
|
|
||||||
|
#define PTYPE_VOLHDR 0 /* partition is volume header */
|
|
@ -4,13 +4,14 @@ LICENSE = "GPLv3+"
|
||||||
LIC_FILES_CHKSUM = "file://COPYING;md5=2f31b266d3440dd7ee50f92cf67d8e6c"
|
LIC_FILES_CHKSUM = "file://COPYING;md5=2f31b266d3440dd7ee50f92cf67d8e6c"
|
||||||
SECTION = "console/tools"
|
SECTION = "console/tools"
|
||||||
DEPENDS = "ncurses readline util-linux"
|
DEPENDS = "ncurses readline util-linux"
|
||||||
PR = "r0"
|
PR = "r1"
|
||||||
|
|
||||||
SRC_URI = "${GNU_MIRROR}/parted/parted-${PV}.tar.xz \
|
SRC_URI = "${GNU_MIRROR}/parted/parted-${PV}.tar.xz \
|
||||||
file://no_check.patch \
|
file://no_check.patch \
|
||||||
file://syscalls.patch \
|
file://syscalls.patch \
|
||||||
file://fix-git-version-gen.patch \
|
file://fix-git-version-gen.patch \
|
||||||
file://fix-doc-mandir.patch"
|
file://fix-doc-mandir.patch \
|
||||||
|
file://fix-dvh-overflows.patch"
|
||||||
|
|
||||||
SRC_URI[md5sum] = "5d89d64d94bcfefa9ce8f59f4b81bdcb"
|
SRC_URI[md5sum] = "5d89d64d94bcfefa9ce8f59f4b81bdcb"
|
||||||
SRC_URI[sha256sum] = "5e9cc1f91eaf016e5033d85b9b893fd6d3ffaca532a48de1082df9b94225ca15"
|
SRC_URI[sha256sum] = "5e9cc1f91eaf016e5033d85b9b893fd6d3ffaca532a48de1082df9b94225ca15"
|
||||||
|
|
Loading…
Reference in New Issue