[PR #374] [MERGED] Fixes .hdr+.cab installshield cabinet files not being extracted by BOS when relative paths are provided. #525

Open
opened 2026-01-29 21:09:55 +00:00 by claunia · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/SabreTools/BinaryObjectScanner/pull/374
Author: @HeroponRikiBestest
Created: 6/29/2025
Status: Merged
Merged: 7/4/2025
Merged by: @mnadareski

Base: masterHead: fix-split-is-cab-relativepath


📝 Commits (5)

  • d0dad6a Fixes .hdr+.cab installshield cabinet files not being extracted when relative paths are provided.
  • 6fd54bf Fix for unit tests empty file string.
  • 1735059 Better fix for unit test failures, due to https://learn.microsoft.com/en-us/dotnet/api/system.io.path.getfullpath?view=net-9.0 listing several more exceptions than the other functions, most of which I would not imagine should be directly handled.
  • 032f797 Removed try-catch fullpath obtaining, added getting fullpath in scanner via filestream name instead.
  • 99e5212 Undid previous changes again, re-added path assertion at request, added assert.throws exception for empty paths in the unit tests

📊 Changes

3 files changed (+7 additions, -6 deletions)

View changed files

📝 BinaryObjectScanner.Test/FileType/InstallShieldCABTests.cs (+4 -5)
📝 BinaryObjectScanner/FileType/InstallShieldCAB.cs (+2 -0)
📝 BinaryObjectScanner/Scanner.cs (+1 -1)

📄 Description

Installshield .hdr+.cab archives were not being extracted by BOS when relative paths were provided. Let me know if this is an improper fix- I tried to look for similar functions in other extractors, but as far as I can tell, nothing else is written exactly like this bit.

Apologies for closing and re-opening the pull request, but since this is a problem that affects no other part of BOS and is unique to this specific part of ISCAB due to nothing else working like it, I had assumed i was fine to just commit directly to master and it would be a quick merge. It's understandable that this might need further investigation, but I need to make other PRs and I don't want to destroy my own git history, so I had to move my commits to a different branch and roll back master after the fact.


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/SabreTools/BinaryObjectScanner/pull/374 **Author:** [@HeroponRikiBestest](https://github.com/HeroponRikiBestest) **Created:** 6/29/2025 **Status:** ✅ Merged **Merged:** 7/4/2025 **Merged by:** [@mnadareski](https://github.com/mnadareski) **Base:** `master` ← **Head:** `fix-split-is-cab-relativepath` --- ### 📝 Commits (5) - [`d0dad6a`](https://github.com/SabreTools/BinaryObjectScanner/commit/d0dad6a90cf5841bedfa9fd9f7a70e61f443f501) Fixes .hdr+.cab installshield cabinet files not being extracted when relative paths are provided. - [`6fd54bf`](https://github.com/SabreTools/BinaryObjectScanner/commit/6fd54bf133f44696e91d425edfa2faddd1d7d73c) Fix for unit tests empty file string. - [`1735059`](https://github.com/SabreTools/BinaryObjectScanner/commit/1735059f5e50986e4b69bc17eac079adc5522356) Better fix for unit test failures, due to https://learn.microsoft.com/en-us/dotnet/api/system.io.path.getfullpath?view=net-9.0 listing several more exceptions than the other functions, most of which I would not imagine should be directly handled. - [`032f797`](https://github.com/SabreTools/BinaryObjectScanner/commit/032f797b625478ccbedc868cbb903aadc357dd62) Removed try-catch fullpath obtaining, added getting fullpath in scanner via filestream name instead. - [`99e5212`](https://github.com/SabreTools/BinaryObjectScanner/commit/99e5212998513c81892bb5d9c0e0e2cab17a2e56) Undid previous changes again, re-added path assertion at request, added assert.throws exception for empty paths in the unit tests ### 📊 Changes **3 files changed** (+7 additions, -6 deletions) <details> <summary>View changed files</summary> 📝 `BinaryObjectScanner.Test/FileType/InstallShieldCABTests.cs` (+4 -5) 📝 `BinaryObjectScanner/FileType/InstallShieldCAB.cs` (+2 -0) 📝 `BinaryObjectScanner/Scanner.cs` (+1 -1) </details> ### 📄 Description Installshield .hdr+.cab archives were not being extracted by BOS when relative paths were provided. Let me know if this is an improper fix- I tried to look for similar functions in other extractors, but as far as I can tell, nothing else is written exactly like this bit. Apologies for closing and re-opening the pull request, but since this is a problem that affects no other part of BOS and is unique to this specific part of ISCAB due to nothing else working like it, I had assumed i was fine to just commit directly to master and it would be a quick merge. It's understandable that this might need further investigation, but I need to make other PRs and I don't want to destroy my own git history, so I had to move my commits to a different branch and roll back master after the fact. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
claunia added the pull-request label 2026-01-29 21:09:55 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: SabreTools/BinaryObjectScanner#525