Skip to content

Commit 739e4e2

Browse files
Amaniclaude
authored andcommitted
v1.8.3 - fix crash in SystemExtensionScanner path extraction
The closed range `pathStart.lowerBound...pathEnd.upperBound` traps when `.systemextension` lands at the end of a line (upperBound == endIndex) or appears before the first `/`. Use a half-open range and guard the ordering. Reproduced by an external user on macOS 26.4.1. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent 34e20df commit 739e4e2

3 files changed

Lines changed: 5 additions & 4 deletions

File tree

MacPersistenceChecker/Services/Scanners/SystemExtensionScanner.swift

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -108,8 +108,9 @@ final class SystemExtensionScanner: PersistenceScanner {
108108

109109
// Try to extract path
110110
if let pathStart = trimmed.range(of: "/"),
111-
let pathEnd = trimmed.range(of: ".systemextension") {
112-
let fullPath = String(trimmed[pathStart.lowerBound...pathEnd.upperBound])
111+
let pathEnd = trimmed.range(of: ".systemextension"),
112+
pathStart.lowerBound < pathEnd.upperBound {
113+
let fullPath = String(trimmed[pathStart.lowerBound..<pathEnd.upperBound])
113114
if !fullPath.contains(" ") {
114115
item.executablePath = URL(fileURLWithPath: fullPath)
115116
}

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ A native macOS security tool that enumerates everything configured to run automa
66

77
## Download
88

9-
**[Download MacPersistenceChecker v1.8.2 (DMG)](https://github.com/Pinperepette/MacPersistenceChecker/releases/download/v1.8.2/MacPersistenceChecker.dmg)**
9+
**[Download MacPersistenceChecker v1.8.3 (DMG)](https://github.com/Pinperepette/MacPersistenceChecker/releases/download/v1.8.3/MacPersistenceChecker.dmg)**
1010

1111
- Requires macOS 13.0 or later
1212
- Universal binary (Apple Silicon & Intel)

build.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ echo ""
1010

1111
# Configuration
1212
APP_NAME="MacPersistenceChecker"
13-
VERSION="1.8.2"
13+
VERSION="1.8.3"
1414
BUNDLE_ID="com.pinperepette.MacPersistenceChecker"
1515
MIN_MACOS="13.0"
1616

0 commit comments

Comments
 (0)