Refine the canary pattern in RedZone
Change-Id: I5b63c8be6488c0ac29e1722c532cdbaab1d65086
diff --git a/runtime/check_jni.cc b/runtime/check_jni.cc
index 45fb9c4..0ae32f4 100644
--- a/runtime/check_jni.cc
+++ b/runtime/check_jni.cc
@@ -1206,6 +1206,8 @@
const_cast<char*>(copy->StartRedZone())[i] = kCanary[j];
if (kCanary[j] == '\0') {
j = 0;
+ } else {
+ j++;
}
}
@@ -1217,6 +1219,8 @@
const_cast<char*>(copy->EndRedZone())[i] = kCanary[j];
if (kCanary[j] == '\0') {
j = 0;
+ } else {
+ j++;
}
}
@@ -1367,6 +1371,8 @@
}
if (kCanary[j] == '\0') {
j = 0;
+ } else {
+ j++;
}
}
@@ -1381,6 +1387,8 @@
}
if (kCanary[j] == '\0') {
j = 0;
+ } else {
+ j++;
}
}
return true;