aboutsummaryrefslogtreecommitdiffstats
path: root/native/src/proximity_info.cpp
diff options
context:
space:
mode:
authorKen Wakasa <kwakasa@google.com>2011-11-10 04:53:15 +0000
committerAndroid Git Automerger <android-git-automerger@android.com>2011-11-10 04:53:15 +0000
commit2549ce275a272d552c28121ea58742e54b640e54 (patch)
tree47ffafd8536e1e888da8baf9dd458b7ace21bbca /native/src/proximity_info.cpp
parent9beab79ba0f3170db8d23947dbb20c93f8132567 (diff)
parentdf2fed2b791c5d6ef64597d515c971aa32a59b92 (diff)
downloadlatinime-2549ce275a272d552c28121ea58742e54b640e54.tar.gz
latinime-2549ce275a272d552c28121ea58742e54b640e54.tar.xz
latinime-2549ce275a272d552c28121ea58742e54b640e54.zip
am df2fed2b: Merge "Fix a bug that would end up in memory corruption" into ics-mr0
* commit 'df2fed2b791c5d6ef64597d515c971aa32a59b92': Fix a bug that would end up in memory corruption
Diffstat (limited to 'native/src/proximity_info.cpp')
-rw-r--r--native/src/proximity_info.cpp15
1 files changed, 9 insertions, 6 deletions
diff --git a/native/src/proximity_info.cpp b/native/src/proximity_info.cpp
index 20fa18a44..763a3a174 100644
--- a/native/src/proximity_info.cpp
+++ b/native/src/proximity_info.cpp
@@ -49,14 +49,17 @@ ProximityInfo::ProximityInfo(const int maxProximityCharsSize, const int keyboard
&& sweetSpotCenterYs && sweetSpotRadii),
mInputXCoordinates(NULL), mInputYCoordinates(NULL),
mTouchPositionCorrectionEnabled(false) {
- const int len = GRID_WIDTH * GRID_HEIGHT * MAX_PROXIMITY_CHARS_SIZE;
- mProximityCharsArray = new uint32_t[len];
- mNormalizedSquaredDistances = new int[len];
+ const int proximityGridLength = GRID_WIDTH * GRID_HEIGHT * MAX_PROXIMITY_CHARS_SIZE;
+ mProximityCharsArray = new uint32_t[proximityGridLength];
if (DEBUG_PROXIMITY_INFO) {
- LOGI("Create proximity info array %d", len);
+ LOGI("Create proximity info array %d", proximityGridLength);
}
- memcpy(mProximityCharsArray, proximityCharsArray, len * sizeof(mProximityCharsArray[0]));
- for (int i = 0; i < len; ++i) {
+ memcpy(mProximityCharsArray, proximityCharsArray,
+ proximityGridLength * sizeof(mProximityCharsArray[0]));
+ const int normalizedSquaredDistancesLength =
+ MAX_PROXIMITY_CHARS_SIZE * MAX_WORD_LENGTH_INTERNAL;
+ mNormalizedSquaredDistances = new int[normalizedSquaredDistancesLength];
+ for (int i = 0; i < normalizedSquaredDistancesLength; ++i) {
mNormalizedSquaredDistances[i] = NOT_A_DISTANCE;
}