diff options
author | Raph Levien <raph@google.com> | 2016-01-15 21:36:37 +0000 |
---|---|---|
committer | android-build-merger <android-build-merger@google.com> | 2016-01-15 21:36:37 +0000 |
commit | a3df6da30bdfda0b5b188e6511deeffddeeb9409 (patch) | |
tree | e7ae500cfc93b9f8438a99a8cd7889fede9c650e /libs/minikin/SparseBitSet.cpp | |
parent | ffadd191a041f16c52b693d8dc0c42b3b9f01b2b (diff) | |
parent | 3034e8b4ab627278b88faae2f4813562f31a7c2b (diff) | |
download | android_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.cpp | 2 |
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) { |