Fix a critical underflow in the touch calibration. This is a cherry-pick of Iacc746e1cc97bf3
Bug: 5629373
Change-Id: Ia198fe5e82b9e7fb801d9bae65cf9c6bbbd1befa
diff --git a/native/src/correction.cpp b/native/src/correction.cpp
index 31493ee..02aae92 100644
--- a/native/src/correction.cpp
+++ b/native/src/correction.cpp
@@ -711,6 +711,9 @@
// \ .
// C \ .
// 0 R1 R2
+ if (factor <= 0) {
+ return -1;
+ }
multiplyRate((int)(factor * 100), &finalFreq);
} else if (squaredDistance == PROXIMITY_CHAR_WITHOUT_DISTANCE_INFO) {
multiplyRate(WORDS_WITH_PROXIMITY_CHARACTER_DEMOTION_RATE, &finalFreq);