From e5795610bdc97aebfaa863b5134294aed5c7c1f2 Mon Sep 17 00:00:00 2001 From: Amith Yamasani Date: Mon, 5 Apr 2010 12:43:44 -0700 Subject: [PATCH] Fix a crash in BatteryStatsImpl, due to a previous fix. This is probably the real fix for the original bug. The last line was probably not well formed and resulted in an overrun in the native code. Bug: 2564824 Change-Id: I8a9cc267f8045a61eff4b5d532258afa32a8b837 --- core/java/com/android/internal/os/BatteryStatsImpl.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/core/java/com/android/internal/os/BatteryStatsImpl.java b/core/java/com/android/internal/os/BatteryStatsImpl.java index 833c01bc8ff0c..aadb576d2c653 100644 --- a/core/java/com/android/internal/os/BatteryStatsImpl.java +++ b/core/java/com/android/internal/os/BatteryStatsImpl.java @@ -891,7 +891,10 @@ public final class BatteryStatsImpl extends BatteryStats { for (endIndex=startIndex; endIndex < len && wlBuffer[endIndex] != '\n' && wlBuffer[endIndex] != '\0'; endIndex++); - endIndex++; // endIndex is an exclusive upper bound. + // Don't go over the end of the buffer + if (endIndex < len) { + endIndex++; // endIndex is an exclusive upper bound. + } String[] nameStringArray = mProcWakelocksName; long[] wlData = mProcWakelocksData;