commit 848db37a75c14bf557a6d9a86d284b594ded1ce7 parent 079396b78524145cddf1f65a5e5254cb52824368 Author: Josh Aas <jaas@kflag.net> Date: Tue, 18 Nov 2025 18:30:33 +0000 Bug 2000663 - Properly handle invalid schemes in OSProtocolHandlerExists on macOS. r=spohl,tobyp Differential Revision: https://phabricator.services.mozilla.com/D272979 Diffstat:
| M | uriloader/exthandler/mac/nsOSHelperAppService.mm | | | 13 | +++++++++---- |
1 file changed, 9 insertions(+), 4 deletions(-)
diff --git a/uriloader/exthandler/mac/nsOSHelperAppService.mm b/uriloader/exthandler/mac/nsOSHelperAppService.mm @@ -100,12 +100,17 @@ nsresult nsOSHelperAppService::OSProtocolHandlerExists( encoding:NSUTF8StringEncoding]; schemeString = [schemeString stringByAppendingString:@"://"]; if (!schemeString) { - return NS_ERROR_FAILURE; + return NS_OK; + } + + NSURL* schemeURL = [NSURL URLWithString:schemeString]; + if (!schemeURL) { + return NS_OK; } - NSURL* url = [[NSWorkspace sharedWorkspace] - URLForApplicationToOpenURL:[NSURL URLWithString:schemeString]]; - *aHandlerExists = !!url; + NSURL* appURL = + [[NSWorkspace sharedWorkspace] URLForApplicationToOpenURL:schemeURL]; + *aHandlerExists = !!appURL; return NS_OK;