[coreboot-gerrit] New patch to review for coreboot: lzma: Return correct amount of decompressed bytes

Patrick Georgi (pgeorgi@google.com) gerrit at coreboot.org
Fri Jul 3 16:35:37 CEST 2015


Patrick Georgi (pgeorgi at google.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/10777

-gerrit

commit 094fd5dc30161556439a1fa4174284f43852f959
Author: Julius Werner <jwerner at chromium.org>
Date:   Thu Jun 25 23:22:36 2015 -0700

    lzma: Return correct amount of decompressed bytes
    
    The LZMA functions are supposed to return the decompressed size, but
    what they actually return is just an unaltered field from the LZMA
    header that is *supposed* to contain the decompressed size. Apparently
    some encoders just overshoot that for no good reason. This patch changes
    the code such that the actual amount of decompressed bytes is returned.
    
    BRANCH=smaug
    BUG=None
    TEST=Printed output bytes when decompressing kernels with LZMA in
    depthcharge, noted that amounts now make sense.
    
    Change-Id: Icdd8f782aa87841f770eff4c14a08973530c7446
    Signed-off-by: Patrick Georgi <pgeorgi at chromium.org>
    Original-Commit-Id: 24b2fa8c9a342ca4288dad1430c8965395f00263
    Original-Change-Id: Ib4cf8673846aedd34656e594ce7b8ea875b56099
    Original-Signed-off-by: Julius Werner <jwerner at chromium.org>
    Original-Reviewed-on: https://chromium-review.googlesource.com/282742
    Original-Reviewed-by: Stefan Reinauer <reinauer at google.com>
    Original-Reviewed-by: Patrick Georgi <pgeorgi at chromium.org>
---
 payloads/libpayload/liblzma/lzma.c | 2 +-
 src/lib/lzma.c                     | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/payloads/libpayload/liblzma/lzma.c b/payloads/libpayload/liblzma/lzma.c
index 23c9562..767eb86 100644
--- a/payloads/libpayload/liblzma/lzma.c
+++ b/payloads/libpayload/liblzma/lzma.c
@@ -48,7 +48,7 @@ unsigned long ulzman(const unsigned char *src, unsigned long srcn,
 		printf("lzma: Decoding error = %d\n", res);
 		return 0;
 	}
-	return outSize;
+	return outProcessed;
 }
 
 unsigned long ulzma(const unsigned char *src, unsigned char *dst)
diff --git a/src/lib/lzma.c b/src/lib/lzma.c
index 89e4d97..c04f4a4 100644
--- a/src/lib/lzma.c
+++ b/src/lib/lzma.c
@@ -54,5 +54,5 @@ unsigned long ulzma(unsigned char * src, unsigned char * dst)
 		return 0;
 	}
 	timestamp_add_now(TS_END_ULZMA);
-	return outSize;
+	return outProcessed;
 }



More information about the coreboot-gerrit mailing list