diff options
| -rw-r--r-- | core/java/android/text/TextLine.java | 12 | 
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; |