From 167586c4729bc4de00aa9686ad90963c8f073f18 Mon Sep 17 00:00:00 2001 From: Simon Morlat Date: Sun, 8 Oct 2017 19:09:43 +0200 Subject: [PATCH] Fix non-escaped string passed as a regexp, which was causing crashes. --- src/android/org/linphone/ChatFragment.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/android/org/linphone/ChatFragment.java b/src/android/org/linphone/ChatFragment.java index 90c49d7e9..0811b2045 100644 --- a/src/android/org/linphone/ChatFragment.java +++ b/src/android/org/linphone/ChatFragment.java @@ -101,6 +101,7 @@ import java.util.Arrays; import java.util.Calendar; import java.util.List; import java.util.Locale; +import java.util.regex.Pattern; import static android.content.Intent.FLAG_GRANT_READ_URI_PERMISSION; import static org.linphone.FragmentsAvailable.CHAT; @@ -1782,14 +1783,14 @@ public class ChatFragment extends Fragment implements OnClickListener, LinphoneC int indexFinHttp = text.indexOf(" ", indexHttp) == -1 ? text.length() : text.indexOf(" ", indexHttp); String link = text.substring(indexHttp, indexFinHttp); String linkWithoutScheme = link.replace("http://", ""); - text = text.replaceFirst(link, "" + linkWithoutScheme + ""); + text = text.replaceFirst(Pattern.quote(link), "" + linkWithoutScheme + ""); } if (text.contains("https://")) { int indexHttp = text.indexOf("https://"); int indexFinHttp = text.indexOf(" ", indexHttp) == -1 ? text.length() : text.indexOf(" ", indexHttp); String link = text.substring(indexHttp, indexFinHttp); String linkWithoutScheme = link.replace("https://", ""); - text = text.replaceFirst(link, "" + linkWithoutScheme + ""); + text = text.replaceFirst(Pattern.quote(link), "" + linkWithoutScheme + ""); } return Compatibility.fromHtml(text);