Skip to content

[issue]: porteus-hook.sh vtFindFlag is set in pipeline subshell, so fallback patch always runs #3532

Description

@gkapetanakis

Official FAQ

  • I have checked the official FAQ.

Ventoy Version

1.1.10

What about latest release

Yes. I have tried the latest release, but the bug still exist.

Try alternative boot mode

No. I didn't try these alternative boot modes.

BIOS Mode

Both

Partition Style

MBR

Disk Capacity

N/A

Disk Manufacturer

N/A

Image file checksum (if applicable)

None

Image file download link (if applicable)

No response

What happened?

There appears to be a shell logic bug in IMG/cpio/ventoy/hook/debian/porteus-hook.sh.

In this block:

grep ... | awk ... | while read vtline; do
# ...
vtFindFlag=1
done

vtFindFlag is modified inside a pipeline loop (subshell in busybox ash), then checked outside the loop. So vtFindFlag remains 0 outside, and the fallback branch runs even when files were already found/patched.

Expected behavior: vtFindFlag should reflect whether any match was found before deciding to run fallback logic.

Suggested fix ideas (I can create a PR):

  • Avoid pipeline subshell for the loop (e.g. iterate over temp file/list)

Relevant file:

  • IMG/cpio/ventoy/hook/debian/porteus-hook.sh

Thank you!

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    FixedThis issue has been fixed

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions