Fix benign overflow in ToneGenerator.cpp
while (count--) causes an unsigned overflow when count = 0, refactor the
condition to avoid this.
Change-Id: I91a8c93e6be715d80070a4c94c1de712cb659265
diff --git a/media/libmedia/ToneGenerator.cpp b/media/libmedia/ToneGenerator.cpp
index 2cc4685..db44079 100644
--- a/media/libmedia/ToneGenerator.cpp
+++ b/media/libmedia/ToneGenerator.cpp
@@ -1581,7 +1581,8 @@
}
long dec = lAmplitude/count;
// loop generation
- while (count--) {
+ while (count) {
+ count--;
Sample = ((lA1 * lS1) >> S_Q14) - lS2;
// shift delay
lS2 = lS1;
@@ -1592,7 +1593,8 @@
}
} else {
// loop generation
- while (count--) {
+ while (count) {
+ count--;
Sample = ((lA1 * lS1) >> S_Q14) - lS2;
// shift delay
lS2 = lS1;