From e631ba6f4a309601a7327b3d4850cfc7eb2ba761 Mon Sep 17 00:00:00 2001 From: Ying Zhong <0x00eeee@gmail.com> Date: Wed, 3 Jun 2026 10:44:44 +0800 Subject: [PATCH] Fix possible invalid ranges for LookUp --- TextGrabber2/Sources/Extensions/String+Extension.swift | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/TextGrabber2/Sources/Extensions/String+Extension.swift b/TextGrabber2/Sources/Extensions/String+Extension.swift index 98cd1a4..15b43b4 100644 --- a/TextGrabber2/Sources/Extensions/String+Extension.swift +++ b/TextGrabber2/Sources/Extensions/String+Extension.swift @@ -44,6 +44,11 @@ extension String { let term = self as CFString let range = DCSGetTermRangeInString(nil, term, 0) + guard range.location != kCFNotFound && range.length > 0 else { + // Invalid range, such as (-1, 0) + return false + } + // Can be found in system dictionaries let definition = DCSCopyTextDefinition(nil, term, range) return definition != nil