Почему File: /// вылетает из моего приложения?

10

Всякий раз, когда я набираю File:///в строке URL-адреса Chrome, в Text Edit и т. Д., Приложение вылетает. Я узнал об этом после прочтения этого поста в блоге .

Как я могу избежать этого сбоя и сделать невозможным для приложений, которые получают эту строку, независимо от того, напечатана она или вставлена ​​в файл, сообщение или загрузку?

houbysoft
источник
Это приводит к сбою приложения или к вашей системе?
Кодзиро
@kojiro: приложение. В случае таких программ, как Chrome или текстовые редакторы, это ОЧЕНЬ серьезная ошибка, поскольку вы теряете всю работу.
Houbysoft
Я не утверждаю, что это несерьезно, я просто указываю, что заголовок и последнее предложение говорят о системе , но на самом деле это не приводит к краху вашей системы.
Кодзиро
3
Вы больше беспокоитесь о том, что люди набирают 8 символов на вашем компьютере, чем о том, что они выбирают принудительное завершение или выключение из меню Apple?
Рассел Борогове
1
@RussellBorogove Опасность заключается не в том, что кто-то печатает на вашем компьютере, а в том, что люди отправляют вам сообщение, почту или документ с текстом на нем. Почта будет зависать, открываться и падать, пока вы вручную не удалите файл с опасным содержимым.
Маттео

Ответы:

19

Это ошибка только в 10.8.1 и 10.8.2.

Обходной путь для этой надоедливой ошибки - отключить два элемента на панели «Язык и текстовые настройки» в «Системных настройках» в уязвимых версиях Mountain Lion:

  • Выберите (щелкните) текст в середине к верхней части окна
  • отмените выбор (снимите флажок) «Исправлять орфографию автоматически»
  • отмените выбор (снимите флажок) «Использовать символ и подстановку текста»

Кредит на этот обходной путь идет на пользователя Shess на веб-сайте открытого радара .

введите описание изображения здесь

bmike
источник
Это не работает, если это сообщение получено в Messages.app
Gert
@Gert Nice - он также не будет работать в некоторых случаях, когда вы получаете файл с этой строкой (или аналогичной строкой), встроенной в файловую систему, и код аварии начинает приобретать фантазию с тем, что выглядит как URL / URI. Я был бы изумлен, если следующее обновление безопасности или точечного обновления не устранит эту громкую ошибку.
bmike
2
будем надеяться. Только для записи. Для того, чтобы исправить Messages.app, вам нужно удалить chat.dbин~/Library/Messages/
Герт
14

У bmike есть обходной путь, я приведу «почему»: согласно этой статье TheNextWeb, функция Data Detectors, которая сканирует текст на предмет значимых форматов (даты, местоположения ...), также ищет URL-адреса файлов. Это делается путем поиска «file: //» без учета регистра. Однако позже в этой процедуре утверждается, что строка должна начинаться со строчной буквы «file: //» - и когда это не так, например, когда есть заглавная буква F, выдается исключение, которое, по-видимому, (и очень небрежно) сбивает все приложение.

cablesm
источник