fix: Check image count in ESD file (#1391)
Some checks failed
Update / dockerHubDescription (push) Has been cancelled

This commit is contained in:
Kroese 2025-09-15 02:09:31 +02:00 committed by GitHub
parent e3dc889601
commit 1ebb4c8d58
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -301,7 +301,11 @@ extractESD() {
fi fi
local esdImageCount local esdImageCount
esdImageCount=$(wimlib-imagex info "$iso" | awk '/Image Count:/ {print $3}') esdImageCount=$(wimlib-imagex info "$iso" | iconv -f UTF-16LE -t UTF-8 | awk '/Image Count:/ {print $3}')
if [ -z "$esdImageCount" ]; then
error "Cannot read the image count in ESD file!" && return 1
fi
wimlib-imagex apply "$iso" 1 "$dir" --quiet 2>/dev/null || { wimlib-imagex apply "$iso" 1 "$dir" --quiet 2>/dev/null || {
retVal=$? retVal=$?
@ -344,7 +348,7 @@ extractESD() {
fi fi
for (( imageIndex=4; imageIndex<=esdImageCount; imageIndex++ )); do for (( imageIndex=4; imageIndex<=esdImageCount; imageIndex++ )); do
imageEdition=$(wimlib-imagex info "$iso" ${imageIndex} | grep '^Description:' | sed 's/Description:[ \t]*//') imageEdition=$(wimlib-imagex info "$iso" ${imageIndex} | iconv -f UTF-16LE -t UTF-8 | grep '^Description:' | sed 's/Description:[ \t]*//')
[[ "${imageEdition,,}" != "${edition,,}" ]] && continue [[ "${imageEdition,,}" != "${edition,,}" ]] && continue
wimlib-imagex export "$iso" ${imageIndex} "$installWimFile" --compress=LZMS --chunk-size 128K --quiet || { wimlib-imagex export "$iso" ${imageIndex} "$installWimFile" --compress=LZMS --chunk-size 128K --quiet || {
retVal=$? retVal=$?
@ -917,7 +921,7 @@ updateImage() {
fi fi
index="1" index="1"
result=$(wimlib-imagex info -xml "$wim" | tr -d '\000') result=$(wimlib-imagex info -xml "$wim" | iconv -f UTF-16LE -t UTF-8)
if [[ "${result^^}" == *"<IMAGE INDEX=\"2\">"* ]]; then if [[ "${result^^}" == *"<IMAGE INDEX=\"2\">"* ]]; then
index="2" index="2"