summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Seigo Nonaka <nona@google.com> 2019-10-16 17:14:15 -0700
committer android-build-merger <android-build-merger@google.com> 2019-10-16 17:14:15 -0700
commit2af4f537ff5b1d0febf895a835452dfb5e45fa4b (patch)
tree39a8def4fb9eaa3afb5bf7e9cdf8a2afea911580
parentb51c7bb175155da4a62513ed1b8dd80503a1d8d9 (diff)
parentb730f1984f382f53bdafadad59e6070d5d0d99ba (diff)
RESTRICT AUTOMERGE Revive runLimit check logic
am: b730f1984f Change-Id: I329515d36c12ee5e12a63262ff7db8daff350832
-rw-r--r--core/java/android/text/TextLine.java9
1 files changed, 9 insertions, 0 deletions
diff --git a/core/java/android/text/TextLine.java b/core/java/android/text/TextLine.java
index 195602475d8a..ea5c71ecc4b9 100644
--- a/core/java/android/text/TextLine.java
+++ b/core/java/android/text/TextLine.java
@@ -239,6 +239,9 @@ 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;
@@ -314,6 +317,9 @@ 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;
@@ -401,6 +407,9 @@ 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;