[PR #804] [CLOSED] fix(native): recognize only whole otool command headers #2251

Closed
opened 2026-10-16 21:16:18 +00:00 by bsakaguchi · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/morluto/rea/pull/804
Author: @rudycelekli
Created: 10/6/2026
Status: ❌ Closed

Base: main ← Head: fix/otool-command-lines-20261006


📝 Commits (1)

  • 33783f1 fix(native): recognize only whole otool command headers

📊 Changes

2 files changed (+37 additions, -1 deletions)

View changed files

📝 src/native/parsers/otool.ts (+1 -1)
📝 tests/boundary/providers/native/nativeInventory.golden.test.ts (+36 -0)

📄 Description

Summary

Recognize Load command N only as a complete otool output line. A valid dylib install name containing that text currently starts a false command block, truncates the dependency path and drops its versions while the inventory reports an exhaustive command count.

Validation

  • Actual Clang-built Mach-O dylibs with two install names containing Load command N: public NativeMacOSProvider inspect_macho returned 15 commands instead of the native 14 before; after it preserves all 14 and both exact dependency names. Ordinary install-name control passes.
  • 23 focused native parser/provider tests pass.
  • Exact signed head: npm run check passes (129 existing warnings, zero errors); npm run check:fast passes.

Native reproduction uses macOS arm64 and Apple's Clang/otool. No Hopper/Ghidra or other OS coverage is claimed; hosted CI remains separate. No schema or provider API changes.

AI assistance was used for investigation, implementation and tests; I reviewed the change and native results.


🔄 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/morluto/rea/pull/804 **Author:** [@rudycelekli](https://github.com/rudycelekli) **Created:** 10/6/2026 **Status:** ❌ Closed **Base:** `main` ← **Head:** `fix/otool-command-lines-20261006` --- ### 📝 Commits (1) - [`33783f1`](https://github.com/morluto/rea/commit/33783f16348fd8b312424327639c2b59d92bc008) fix(native): recognize only whole otool command headers ### 📊 Changes **2 files changed** (+37 additions, -1 deletions) <details> <summary>View changed files</summary> 📝 `src/native/parsers/otool.ts` (+1 -1) 📝 `tests/boundary/providers/native/nativeInventory.golden.test.ts` (+36 -0) </details> ### 📄 Description ## Summary Recognize `Load command N` only as a complete otool output line. A valid dylib install name containing that text currently starts a false command block, truncates the dependency path and drops its versions while the inventory reports an exhaustive command count. ## Validation - Actual Clang-built Mach-O dylibs with two install names containing `Load command N`: public `NativeMacOSProvider` `inspect_macho` returned 15 commands instead of the native 14 before; after it preserves all 14 and both exact dependency names. Ordinary install-name control passes. - 23 focused native parser/provider tests pass. - Exact signed head: `npm run check` passes (129 existing warnings, zero errors); `npm run check:fast` passes. Native reproduction uses macOS arm64 and Apple's Clang/otool. No Hopper/Ghidra or other OS coverage is claimed; hosted CI remains separate. No schema or provider API changes. AI assistance was used for investigation, implementation and tests; I reviewed the change and native results. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
bsakaguchi 2026-10-16 21:16:18 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
morluto/rea#2251
No description provided.