aboutsummaryrefslogtreecommitdiffstats
path: root/src/arch/i386
diff options
context:
space:
mode:
authorMichael Brown <mcb30@ipxe.org>2015-02-26 09:46:59 +0000
committerMichael Brown <mcb30@ipxe.org>2015-02-26 09:54:05 +0000
commit9cdf68a2190a050a0b60d4ad6f51ec88c1b1b296 (patch)
tree1d53f47a6da08433e38a47b48ad8ec6f03c0c168 /src/arch/i386
parent47aebc24d3d2aa45cde234f556d31319cc9a2b71 (diff)
downloadipxe-9cdf68a2190a050a0b60d4ad6f51ec88c1b1b296.tar.gz
[zbin] Perform extra normalisation after completing decompression
LZMA performs an extra normalisation after decompression is complete, which does not affect the output but may consume an extra byte from the input (and so may affect which byte is identified as being the start of the next block). Reported-by: Robin Smidsrød <robin@smidsrod.no> Tested-by: Robin Smidsrød <robin@smidsrod.no> Signed-off-by: Michael Brown <mcb30@ipxe.org>
Diffstat (limited to 'src/arch/i386')
-rw-r--r--src/arch/i386/prefix/unlzma.S1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/arch/i386/prefix/unlzma.S b/src/arch/i386/prefix/unlzma.S
index f6c742865..b0588fdac 100644
--- a/src/arch/i386/prefix/unlzma.S
+++ b/src/arch/i386/prefix/unlzma.S
@@ -885,6 +885,7 @@ decompress:
1: /* Decompress until we reach end of buffer */
call lzma_decode
jnc 1b
+ call rc_normalise
print_character '\n'
/* Undo BCJ filter */
pushl %esi