]> git.ipfire.org Git - thirdparty/ipxe.git/commitdiff
[zbin] Perform extra normalisation after completing decompression
authorMichael Brown <mcb30@ipxe.org>
Thu, 26 Feb 2015 09:46:59 +0000 (09:46 +0000)
committerMichael Brown <mcb30@ipxe.org>
Thu, 26 Feb 2015 09:54:05 +0000 (09:54 +0000)
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>
src/arch/i386/prefix/unlzma.S

index f6c7428653e24766e5d39805e0e2fa37ac9abb70..b0588fdacfbe26b0794b487a45169978049e12c5 100644 (file)
@@ -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