stagefright aacenc: Avoid a division by zero
In rare cases, the result of normFactor * (*psfbNActiveLines)
could be zero, leading to a division by zero in pow2_xy.
In these cases, normFactor was INT_MIN, and if *psfbNActiveLines
was 2, the product was zero.
normFactor being INT_MIN is a bug in itself though.
Change-Id: Ib31bf02889615a7be3bd1bc028da8a7651a8dbee
diff --git a/media/libstagefright/codecs/aacenc/src/adj_thr.c b/media/libstagefright/codecs/aacenc/src/adj_thr.c
index a8ab809..54fb19d 100644
--- a/media/libstagefright/codecs/aacenc/src/adj_thr.c
+++ b/media/libstagefright/codecs/aacenc/src/adj_thr.c
@@ -465,7 +465,7 @@
deltaSfbPe = *psfbPeFactors * deltaPe;
/* thr3(n) = thr2(n)*2^deltaSfbPe/b(n) */
- if (*psfbNActiveLines > 0) {
+ if (*psfbNActiveLines > 0 && (normFactor* (*psfbNActiveLines)) != 0) {
/* new threshold */
Word32 thrFactor;
sfbEn = psyOutChan->sfbEnergy[sfbGrp+sfb];