Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix lsbom segfault or not listing content #21, #33 and hardcoded path in Makefile #35 #36

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

cluck
Copy link
Contributor

@cluck cluck commented Oct 26, 2024

I have tested lsbom against payload.pom, pre.pom, post.pom of Apple iOS/tvOS OTA updates and verified them working.

@hogliux
Copy link
Owner

hogliux commented Oct 28, 2024

First of all, thank you so much for committing some time to this years old project. I no longer maintain it so I'm always happy when people jump in and give it some love. Thank you!!

I'm a bit unsure about this PR. First of all, the hard coded path in the makefile is for reproducible builds. If you replace it with $(SRC) the builds will no longer be reproducible but will depend on where you build them. This is a problem for automatic build integration which build in random tmp folders but then check the hashes of built binary.

Also, I don't quite understand the whole issue with the "Paths" line. It used to be just name == "Paths" which seemed fine to me but people complained that the code didn't work with iOS OTAs (see this issue for example). This tool was never intended to be used with iOS OTAs so I never tested it with this.

What value does name have with iOS OTAs? Is there may be another null character inside the C++ string for iOS OTAs? Anyway the code as it currently stands (i.e. strstr == 0) is definitely wrong so it would be good to fix this. I'd just like to understand why name == "Paths" was wrong in the first place.

If rfind does fix it then I'm happy to accept this. But I'd actually prefer to just use find here. Sure rfind is more effecient but I'd prefer readability. After all this is not a performance sensitive tool.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants