Commit 2219031
fix(runtime): tolerate sandbox-denied parents in exact-case path checks (#66)
PathExistsWithExactCase verifies each component by enumerating its parent
directory, starting from the filesystem root. On a physical device the
sandbox forbids listing everything above the app container
(/private/var/containers, /var/mobile/Containers), so the directory iterator
errors and every module resolution failed with "the specified module does
not exist" - the runtime could not boot any app on hardware while the
simulator (whose containers live under the listable macOS home) passed. When
a parent cannot be enumerated, trust the exists() check that already vouched
for the full path and keep walking: case verification still applies to every
listable level, which covers the app's own content - the case mistakes the
check exists to catch.
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>1 parent cb2cf10 commit 2219031
1 file changed
Lines changed: 9 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
15 | 15 | | |
16 | 16 | | |
17 | 17 | | |
18 | | - | |
19 | 18 | | |
| 19 | + | |
20 | 20 | | |
21 | 21 | | |
22 | 22 | | |
| |||
173 | 173 | | |
174 | 174 | | |
175 | 175 | | |
176 | | - | |
| 176 | + | |
| 177 | + | |
| 178 | + | |
| 179 | + | |
| 180 | + | |
| 181 | + | |
| 182 | + | |
| 183 | + | |
177 | 184 | | |
178 | 185 | | |
179 | 186 | | |
| |||
0 commit comments