Browse Source

[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>
tags/v1.20.1
Michael Brown 10 years ago
parent
commit
9cdf68a219
1 changed files with 1 additions and 0 deletions
  1. 1
    0
      src/arch/i386/prefix/unlzma.S

+ 1
- 0
src/arch/i386/prefix/unlzma.S View File

885
 1:	/* Decompress until we reach end of buffer */
885
 1:	/* Decompress until we reach end of buffer */
886
 	call	lzma_decode
886
 	call	lzma_decode
887
 	jnc	1b
887
 	jnc	1b
888
+	call	rc_normalise
888
 	print_character '\n'
889
 	print_character '\n'
889
 	/* Undo BCJ filter */
890
 	/* Undo BCJ filter */
890
 	pushl	%esi
891
 	pushl	%esi

Loading…
Cancel
Save