aboutsummaryrefslogtreecommitdiff
path: root/lib/xz
diff options
context:
space:
mode:
Diffstat (limited to 'lib/xz')
-rw-r--r--lib/xz/Kconfig10
-rw-r--r--lib/xz/xz_dec_lzma2.c4
2 files changed, 8 insertions, 6 deletions
diff --git a/lib/xz/Kconfig b/lib/xz/Kconfig
index 60a6088d0e5..12d2d777f36 100644
--- a/lib/xz/Kconfig
+++ b/lib/xz/Kconfig
@@ -6,42 +6,40 @@ config XZ_DEC
the .xz file format as the container. For integrity checking,
CRC32 is supported. See Documentation/xz.txt for more information.
+if XZ_DEC
+
config XZ_DEC_X86
bool "x86 BCJ filter decoder" if EXPERT
default y
- depends on XZ_DEC
select XZ_DEC_BCJ
config XZ_DEC_POWERPC
bool "PowerPC BCJ filter decoder" if EXPERT
default y
- depends on XZ_DEC
select XZ_DEC_BCJ
config XZ_DEC_IA64
bool "IA-64 BCJ filter decoder" if EXPERT
default y
- depends on XZ_DEC
select XZ_DEC_BCJ
config XZ_DEC_ARM
bool "ARM BCJ filter decoder" if EXPERT
default y
- depends on XZ_DEC
select XZ_DEC_BCJ
config XZ_DEC_ARMTHUMB
bool "ARM-Thumb BCJ filter decoder" if EXPERT
default y
- depends on XZ_DEC
select XZ_DEC_BCJ
config XZ_DEC_SPARC
bool "SPARC BCJ filter decoder" if EXPERT
default y
- depends on XZ_DEC
select XZ_DEC_BCJ
+endif
+
config XZ_DEC_BCJ
bool
default n
diff --git a/lib/xz/xz_dec_lzma2.c b/lib/xz/xz_dec_lzma2.c
index a6cdc969ea4..08c3c804999 100644
--- a/lib/xz/xz_dec_lzma2.c
+++ b/lib/xz/xz_dec_lzma2.c
@@ -1043,6 +1043,8 @@ XZ_EXTERN enum xz_ret xz_dec_lzma2_run(struct xz_dec_lzma2 *s,
s->lzma2.sequence = SEQ_LZMA_PREPARE;
+ /* Fall through */
+
case SEQ_LZMA_PREPARE:
if (s->lzma2.compressed < RC_INIT_BYTES)
return XZ_DATA_ERROR;
@@ -1053,6 +1055,8 @@ XZ_EXTERN enum xz_ret xz_dec_lzma2_run(struct xz_dec_lzma2 *s,
s->lzma2.compressed -= RC_INIT_BYTES;
s->lzma2.sequence = SEQ_LZMA_RUN;
+ /* Fall through */
+
case SEQ_LZMA_RUN:
/*
* Set dictionary limit to indicate how much we want