summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSeigo Nonaka <nona@google.com>2019-10-02 09:33:53 -0700
committerandroid-build-merger <android-build-merger@google.com>2019-10-02 09:33:53 -0700
commitb51c7bb175155da4a62513ed1b8dd80503a1d8d9 (patch)
tree4fb917f78d06f707f877540cf12b60634de5b6ad
parentf6aa7b8d8f8d90318aa2c3a003ed92c6cd428a4a (diff)
parent4ce901e4058d93336dca3413dc53b81bbdf9d3e8 (diff)
downloadbase-b51c7bb175155da4a62513ed1b8dd80503a1d8d9.tar.gz
RESTRICT AUTOMERGE Do not compute outside given range in TextLine
am: 4ce901e405 Change-Id: I739746d80a8dd29998a67c1d9aaa2d3f804ac57c
-rw-r--r--core/java/android/text/TextLine.java12
1 files changed, 3 insertions, 9 deletions
diff --git a/core/java/android/text/TextLine.java b/core/java/android/text/TextLine.java
index 3ad6c98cdd81..195602475d8a 100644
--- a/core/java/android/text/TextLine.java
+++ b/core/java/android/text/TextLine.java
@@ -239,9 +239,7 @@ class TextLine {
for (int i = 0; i < runs.length; i += 2) {
int runStart = runs[i];
int runLimit = runStart + (runs[i+1] & Layout.RUN_LENGTH_MASK);
- if (runLimit > mLen) {
- runLimit = mLen;
- }
+ if (runStart > mLen) break;
boolean runIsRtl = (runs[i+1] & Layout.RUN_RTL_FLAG) != 0;
int segstart = runStart;
@@ -316,9 +314,7 @@ class TextLine {
for (int i = 0; i < runs.length; i += 2) {
int runStart = runs[i];
int runLimit = runStart + (runs[i+1] & Layout.RUN_LENGTH_MASK);
- if (runLimit > mLen) {
- runLimit = mLen;
- }
+ if (runStart > mLen) break;
boolean runIsRtl = (runs[i+1] & Layout.RUN_RTL_FLAG) != 0;
int segstart = runStart;
@@ -405,9 +401,7 @@ class TextLine {
for (int i = 0; i < runs.length; i += 2) {
int runStart = runs[i];
int runLimit = runStart + (runs[i + 1] & Layout.RUN_LENGTH_MASK);
- if (runLimit > mLen) {
- runLimit = mLen;
- }
+ if (runStart > mLen) break;
boolean runIsRtl = (runs[i + 1] & Layout.RUN_RTL_FLAG) != 0;
int segstart = runStart;