fix: better compatibility under busybox, silence buggy unzlma versions (fix #432)

This commit is contained in:
Stéphane Lesimple
2026-04-06 17:12:21 +02:00
parent 2c766b7cc6
commit 42ed8efa65
3 changed files with 5 additions and 2 deletions

View File

@@ -88,7 +88,9 @@ try_decompress() {
fi
pos=${pos%%:*}
# shellcheck disable=SC2086
tail -c+$pos "$6" 2>/dev/null | $3 $4 >"$g_kerneltmp" 2>/dev/null
# wrap in subshell so that if $3 segfaults (e.g. old BusyBox unlzma on random data),
# the "Segmentation fault" message printed by the shell goes to /dev/null
(tail -c+$pos "$6" 2>/dev/null | $3 $4 >"$g_kerneltmp" 2>/dev/null) 2>/dev/null
ret=$?
if [ ! -s "$g_kerneltmp" ]; then
# don't rely on $ret, sometimes it's != 0 but worked