summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/syslinux
diff options
context:
space:
mode:
authorKai Kang <kai.kang@windriver.com>2014-06-20 14:06:30 +0800
committerRichard Purdie <richard.purdie@linuxfoundation.org>2014-06-24 19:54:12 +0100
commit3c7b5ec1cae6186a64e0be2c05b64b05add08c97 (patch)
treec202d0e5b91becc2e8c79467be98420e51a4340e /meta/recipes-devtools/syslinux
parentcc480eafe576aa6c56a58f6ef71bf8be705aa8b1 (diff)
downloadpoky-3c7b5ec1cae6186a64e0be2c05b64b05add08c97.tar.gz
syslinux: fix isohybird overflows on 32 bit system
When call isohybrid with option '-u', it overflows on a 32 bits host. It seeks to 512 bytes before the end of the image to install gpt header. If the size of image is larger than LONG_MAX, it overflows fseek() and cause error: isohybrid: wrlinux-image-x86-64-20140505110100.iso: seek error - 8: Invalid argument Replace fseek with fseeko to fix this issue. (From OE-Core rev: 41bd9dbf6f3e0add6a9e2cb20cfcbff44d785ea4) Signed-off-by: Kai Kang <kai.kang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-devtools/syslinux')
-rw-r--r--meta/recipes-devtools/syslinux/files/isohybrid-fix-overflow-on-32-bit-system.patch40
-rw-r--r--meta/recipes-devtools/syslinux/syslinux_6.01.bb4
2 files changed, 43 insertions, 1 deletions
diff --git a/meta/recipes-devtools/syslinux/files/isohybrid-fix-overflow-on-32-bit-system.patch b/meta/recipes-devtools/syslinux/files/isohybrid-fix-overflow-on-32-bit-system.patch
new file mode 100644
index 0000000000..09a6945ba9
--- /dev/null
+++ b/meta/recipes-devtools/syslinux/files/isohybrid-fix-overflow-on-32-bit-system.patch
@@ -0,0 +1,40 @@
1Upstream-Status: Backport
2
3Signed-off-by: Kai Kang <kai.kang@windriver.com>
4
5From bc360f8dbdf27bff07bb5db8d0ea9a7b10d8e3d1 Mon Sep 17 00:00:00 2001
6From: Kai Kang <kai.kang@windriver.com>
7Date: Fri, 20 Jun 2014 11:32:11 +0800
8Subject: [PATCH 1/2] isohybrid: fix overflow on 32 bit system
9
10When call isohybrid with option '-u', it overflows on a 32 bits host. It
11seeks to 512 bytes before the end of the image to install gpt header. If
12the size of image is larger than LONG_MAX, it overflows fseek() and
13cause error:
14
15isohybrid: image-x86-64-20140505110100.iso: seek error - 8: Invalid argument
16
17Replace fseek with fseeko to fix this issue.
18
19Signed-off-by: Kai Kang <kai.kang@windriver.com>
20Signed-off-by: H. Peter Anvin <hpa@zytor.com>
21---
22 utils/isohybrid.c | 2 +-
23 1 file changed, 1 insertion(+), 1 deletion(-)
24
25diff --git a/utils/isohybrid.c b/utils/isohybrid.c
26index 410bb60..23fc6c0 100644
27--- a/utils/isohybrid.c
28+++ b/utils/isohybrid.c
29@@ -1126,7 +1126,7 @@ main(int argc, char *argv[])
30 * end of the image
31 */
32
33- if (fseek(fp, (isostat.st_size + padding) - orig_gpt_size - 512,
34+ if (fseeko(fp, (isostat.st_size + padding) - orig_gpt_size - 512,
35 SEEK_SET))
36 err(1, "%s: seek error - 8", argv[0]);
37
38--
391.9.1
40
diff --git a/meta/recipes-devtools/syslinux/syslinux_6.01.bb b/meta/recipes-devtools/syslinux/syslinux_6.01.bb
index 89204b03ae..e8a1fd4ffe 100644
--- a/meta/recipes-devtools/syslinux/syslinux_6.01.bb
+++ b/meta/recipes-devtools/syslinux/syslinux_6.01.bb
@@ -13,7 +13,9 @@ SRC_URI = "${KERNELORG_MIRROR}/linux/utils/boot/syslinux/6.xx/syslinux-${PV}.tar
13 file://0002-memscan-build-a-linked-list-of-memory-scanners.patch \ 13 file://0002-memscan-build-a-linked-list-of-memory-scanners.patch \
14 file://0003-PXELINUX-Add-bios-memscan-function.patch \ 14 file://0003-PXELINUX-Add-bios-memscan-function.patch \
15 file://0004-pxe-use-bios_fbm-and-real_base_mem-to-calculate-free.patch \ 15 file://0004-pxe-use-bios_fbm-and-real_base_mem-to-calculate-free.patch \
16 file://syslinux-fix-parallel-building-issue.patch" 16 file://syslinux-fix-parallel-building-issue.patch \
17 file://isohybrid-fix-overflow-on-32-bit-system.patch \
18 "
17 19
18SRC_URI[md5sum] = "6945ee89e29119d459baed4937bbc534" 20SRC_URI[md5sum] = "6945ee89e29119d459baed4937bbc534"
19SRC_URI[sha256sum] = "83a04cf81e6a46b80ee5a321926eea095af3498b04317e3674b46c125c7a5b43" 21SRC_URI[sha256sum] = "83a04cf81e6a46b80ee5a321926eea095af3498b04317e3674b46c125c7a5b43"