String16::remove - avoid overflow am: 4048e49956 am: 107f18cb61 am: 9be245c3f0 am: 64fb5012b8 am: 4e27b6992b am: 26b81f59d2 am: 8367a666b5

Original change: https://googleplex-android-review.googlesource.com/c/platform/system/core/+/11619802

Change-Id: I089a82a0c027667f5eefe769fa73c6a93ebcc532
diff --git a/libutils/String16.cpp b/libutils/String16.cpp
index e2a8c59..539953a 100644
--- a/libutils/String16.cpp
+++ b/libutils/String16.cpp
@@ -454,7 +454,7 @@
         mString = getEmptyString();
         return OK;
     }
-    if ((begin+len) > N) len = N-begin;
+    if (len > N || len > N - begin) len = N - begin;
     if (begin == 0 && len == N) {
         return OK;
     }