summaryrefslogtreecommitdiffstats
path: root/libs/minikin/SparseBitSet.cpp
diff options
context:
space:
mode:
authorRaph Levien <raph@google.com>2016-01-15 21:36:37 +0000
committerandroid-build-merger <android-build-merger@google.com>2016-01-15 21:36:37 +0000
commita3df6da30bdfda0b5b188e6511deeffddeeb9409 (patch)
treee7ae500cfc93b9f8438a99a8cd7889fede9c650e /libs/minikin/SparseBitSet.cpp
parentffadd191a041f16c52b693d8dc0c42b3b9f01b2b (diff)
parent3034e8b4ab627278b88faae2f4813562f31a7c2b (diff)
downloadandroid_frameworks_minikin-a3df6da30bdfda0b5b188e6511deeffddeeb9409.tar.gz
android_frameworks_minikin-a3df6da30bdfda0b5b188e6511deeffddeeb9409.tar.bz2
android_frameworks_minikin-a3df6da30bdfda0b5b188e6511deeffddeeb9409.zip
Reject fonts with invalid ranges in cmap am: ca8ac8acda
am: 3034e8b4ab * commit '3034e8b4ab627278b88faae2f4813562f31a7c2b': Reject fonts with invalid ranges in cmap
Diffstat (limited to 'libs/minikin/SparseBitSet.cpp')
-rw-r--r--libs/minikin/SparseBitSet.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/libs/minikin/SparseBitSet.cpp b/libs/minikin/SparseBitSet.cpp
index 7acb7ba..2265ff2 100644
--- a/libs/minikin/SparseBitSet.cpp
+++ b/libs/minikin/SparseBitSet.cpp
@@ -14,6 +14,7 @@
* limitations under the License.
*/
+#include <cutils/log.h>
#include <stddef.h>
#include <string.h>
#include <minikin/SparseBitSet.h>
@@ -71,6 +72,7 @@ void SparseBitSet::initFromRanges(const uint32_t* ranges, size_t nRanges) {
for (size_t i = 0; i < nRanges; i++) {
uint32_t start = ranges[i * 2];
uint32_t end = ranges[i * 2 + 1];
+ LOG_ALWAYS_FATAL_IF(end < start); // make sure range size is nonnegative
uint32_t startPage = start >> kLogValuesPerPage;
uint32_t endPage = (end - 1) >> kLogValuesPerPage;
if (startPage >= nonzeroPageEnd) {