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
main
Ken Wakasa 2011-11-10 04:53:15 +00:00 committed by Android Git Automerger
commit 2549ce275a
1 changed files with 9 additions and 6 deletions

View File

@ -49,14 +49,17 @@ ProximityInfo::ProximityInfo(const int maxProximityCharsSize, const int keyboard
&& sweetSpotCenterYs && sweetSpotRadii), && sweetSpotCenterYs && sweetSpotRadii),
mInputXCoordinates(NULL), mInputYCoordinates(NULL), mInputXCoordinates(NULL), mInputYCoordinates(NULL),
mTouchPositionCorrectionEnabled(false) { mTouchPositionCorrectionEnabled(false) {
const int len = GRID_WIDTH * GRID_HEIGHT * MAX_PROXIMITY_CHARS_SIZE; const int proximityGridLength = GRID_WIDTH * GRID_HEIGHT * MAX_PROXIMITY_CHARS_SIZE;
mProximityCharsArray = new uint32_t[len]; mProximityCharsArray = new uint32_t[proximityGridLength];
mNormalizedSquaredDistances = new int[len];
if (DEBUG_PROXIMITY_INFO) { 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])); memcpy(mProximityCharsArray, proximityCharsArray,
for (int i = 0; i < len; ++i) { 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; mNormalizedSquaredDistances[i] = NOT_A_DISTANCE;
} }