coreboot-kgpe-d16/util
Gabe Black 845aa1416d cbfstool: If compression fails, warn and use the uncompressed data.
The LZMA compression algorithm, currently the only one available, will fail
if you ask it to write more data to the output than you've given it space for.
The code that calls into LZMA allocates an output buffer the same size as the
input, so if compression increases the size of the output the call will fail.
The caller(s) were written to assume that the call succeeded and check the
returned length to see if the size would have increased, but that will never
happen with LZMA.

Rather than try to rework the LZMA library to dynamically resize the output
buffer or try to guess what the maximal size the data could expand to is, this
change makes the caller simply print a warning and disable compression if the
call failed for some reason.

This may lead to images that are larger than necessary if compression fails
for some other reason and the user doesn't notice, but since compression
errors were ignored entirely until very recently that will hopefully not be
a problem in practice, and we should be guaranteed to at least produce a
correct image.

Original-Change-Id: I5f59529c2d48e9c4c2e011018b40ec336c4fcca8
Original-Signed-off-by: Gabe Black <gabeblack@google.com>
Original-Reviewed-on: https://chromium-review.googlesource.com/187365
Original-Reviewed-by: David Hendricks <dhendrix@chromium.org>
Original-Tested-by: Gabe Black <gabeblack@chromium.org>
Original-Commit-Queue: Gabe Black <gabeblack@chromium.org>
(cherry picked from commit b9f622a554d5fb9a9aff839c64e11acb27785f13)
Signed-off-by: Isaac Christensen <isaac.christensen@se-eng.com>

Change-Id: I5f59529c2d48e9c4c2e011018b40ec336c4fcca8
Reviewed-on: http://review.coreboot.org/6958
Tested-by: build bot (Jenkins)
Reviewed-by: Patrick Georgi <pgeorgi@google.com>
2014-10-28 17:08:29 +01:00
..
abuild abuild: skip boards for which we lack a cross compiler 2014-10-18 14:45:36 +02:00
acpi
amdtools
arm_boot_tools/mksunxiboot util: replace fseek/ftell/rewind with fstat 2014-08-12 11:53:24 +02:00
board_status to-wiki: Add IVYBRIDGE_NATIVE to the list of ivybridge names. 2014-09-13 20:22:26 +02:00
cbfstool cbfstool: If compression fails, warn and use the uncompressed data. 2014-10-28 17:08:29 +01:00
cbmem util/cbmem: Fix CBMEM TOC printing 2014-10-18 14:29:29 +02:00
crossgcc crossgcc: Support OSX 10.9 built-in tar utility program. 2014-04-29 21:23:10 +02:00
dtd_parser
dumpmmcr
ectool
exynos exynos: Install the BL1 and set the checksum in the Makefile. 2014-09-09 20:01:18 +02:00
fletcher util/fletcher: fix debug option parsing 2014-10-18 14:45:42 +02:00
genprof util/genprof: improve handling of command line arguments 2014-08-12 09:02:44 +02:00
getpir
gitconfig
i915tool util/i915tool: close the file also when fread() returned an error 2014-07-30 13:16:53 +02:00
ifdfake
ifdtool ifdtool: Provide bounds on string parser 2014-08-10 18:50:30 +02:00
inteltool util/inteltool: fix typo 2014-08-26 10:08:30 +02:00
k8resdump
kconfig kconfig: update to follow upstream more closely 2014-05-07 19:39:28 +02:00
lbtdump
lint lint: simplify board-status check 2014-09-03 00:23:26 +02:00
mptable
msrtool
nvidia nvidia/cbootimage: avoid upstream's build system 2014-10-02 10:26:58 +02:00
nvramtool nvramtool: plug some memory leaks 2014-08-12 22:15:20 +02:00
optionlist
resetcf
romcc romcc: avoid use-after-free 2014-09-06 09:21:07 +02:00
runfw ARM: Generalize armv7 as arm. 2014-09-08 18:59:23 +02:00
sconfig sconfig: add cpu device type 2014-10-07 21:03:25 +02:00
showdevicetree ARM: Generalize armv7 as arm. 2014-09-08 18:59:23 +02:00
spkmodem_recv
superiotool util/superiotool: Add initial support for Fintek F71869ED. 2014-03-27 10:15:28 +01:00
vgabios
viatool
xcompile xcompile: detect and use RISCV binaries 2014-10-08 15:44:17 +02:00