From: sms
Subject: Fix CVE-2014-8139: CRC32 verification heap-based overflow
Bug-Debian: http://bugs.debian.org/773722
--- a/extract.c
+++ b/extract.c
@@ -1,5 +1,5 @@
/*
- Copyright (c) 1990-2009 Info-ZIP. All rights reserved.
+ Copyright (c) 1990-2014 Info-ZIP. All rights reserved.
See the accompanying file LICENSE, version 2009-Jan-02 or later
(the contents of which are also included in unzip.h) for terms of use.
@@ -298,6 +298,8 @@
#ifndef SFX
static ZCONST char Far InconsistEFlength[] = "bad extra-field entry:\n \
EF block length (%u bytes) exceeds remaining EF data (%u bytes)\n";
+ static ZCONST char Far TooSmallEFlength[] = "bad extra-field entry:\n \
+ EF block length (%u bytes) invalid (< %d)\n";
static ZCONST char Far InvalidComprDataEAs[] =
" invalid compressed data for EAs\n";
# if (defined(WIN32) && defined(NTSD_EAS))
@@ -2023,7 +2025,8 @@
ebID = makeword(ef);
ebLen = (unsigned)makeword(ef+EB_LEN);
- if (ebLen > (ef_len - EB_HEADSIZE)) {
+ if (ebLen > (ef_len - EB_HEADSIZE))
+ {
/* Discovered some extra field inconsistency! */
if (uO.qflag)
Info(slide, 1, ((char *)slide, "%-22s ",
@@ -2032,6 +2035,16 @@
ebLen, (ef_len - EB_HEADSIZE)));
return PK_ERR;
}
+ else if (ebLen < EB_HEADSIZE)
+ {
+ /* Extra block length smaller than header length. */
+ if (uO.qflag)
+ Info(slide, 1, ((char *)slide, "%-22s ",
+ FnFilter1(G.filename)));
+ Info(slide, 1, ((char *)slide, LoadFarString(TooSmallEFlength),
+ ebLen, EB_HEADSIZE));
+ return PK_ERR;
+ }
switch (ebID) {
case EF_OS2:
hor'>author
committer
range
Age Commit message (Expand ) Author
2024-05-22 bootloader: Add u-boot-starfive-visionfive2-bootloader. ...* gnu/bootloader/u-boot.scm (u-boot-starfive-visionfive2-bootloader): New variable.
Change-Id: I4b73906fe18d481644102c271f5e0883167b3a50
Zheng Junjie
2024-03-31 bootloader: Add u-boot-qemu-riscv64-bootloader. ...* gnu/bootloader/u-boot.scm (u-boot-qemu-riscv64-bootloader): New variable.
Change-Id: If6622838d2250c90a26380849b92387aa7122fbb
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Zheng Junjie
2023-12-22 gnu: bootloader: Add orangepi-r1-plus-lts-rk3328 bootloader. ...* gnu/bootloader/u-boot.scm (install-orangepi-r1-plus-lts-rk3328-u-boot,
u-boot-orangepi-r1-plus-lts-rk3328-bootloader): New variables.
* gnu/packages/bootloaders.scm (u-boot-orangepi-r1-plus-lts-rk3328): New
variable.
Signed-off-by: Vagrant Cascadian <vagrant@debian.org>
Herman Rimm
2023-06-14 gnu: bootloader: Add u-boot-sifive-unmatched-bootloader. ...* gnu/bootloader/u-boot.scm (install-sifive-unmatched-u-boot,
u-boot-sifive-unmatched-bootloader): New variables.
Efraim Flashner
2023-01-18 gnu: Add u-boot-ts7970-q-2g-1000mhz-c-bootloader. ...* gnu/bootloader/u-boot.scm (u-boot-ts7970-q-2g-1000mhz-c-bootloader): New
variable.
Maxim Cournoyer
2022-12-28 gnu: u-boot-am335x-boneblack: Revert to old name. ...This reverts to the name this package had previous to commit
c2c1dfdf5760873f1db86d14873f725a105f7feb ("gnu: bootloader: Add U-Boot
packages for Raspberry Pi models."), which caused the package name to be
derived from the board name.
* gnu/packages/bootloaders.scm (u-boot-am335x-evm-boneblack): Remove the
NAME-SUFFIX keyword argument. Specify the full name via the name field.
* gnu/bootloader/u-boot.scm (u-boot-beaglebone-black-bootloader): Adjust to
the renamed package.
Reported-by: Vagrant Cascadian <vagrant@debian.org>
Maxim Cournoyer
2022-12-20 gnu: u-boot-am335x-evm-boneblack: Fix variable name. ...* gnu/packages/bootloaders.scm (u-boot-am335x-boneblack): Rename to...
(u-boot-am335x-evm-boneblack), to match the package name.
* gnu/bootloader/u-boot.scm (u-boot-beaglebone-black-bootloader): Adjust
accordingly.
Maxim Cournoyer