diff options
author | Raph Levien <raph@google.com> | 2016-02-17 23:55:18 +0000 |
---|---|---|
committer | android-build-merger <android-build-merger@google.com> | 2016-02-17 23:55:18 +0000 |
commit | 2f0604dce2207ba3223cc5f5cdd0642e25c0b6e3 (patch) | |
tree | 29c038070fd3eb2bc4ac4ad617df703a9899ec14 | |
parent | c88ef135fcc2661ec7addc171ebc60787df38aff (diff) | |
parent | c3433aca7acac7f642ba0dcc07429027d0453348 (diff) | |
download | android_frameworks_minikin-2f0604dce2207ba3223cc5f5cdd0642e25c0b6e3.tar.gz android_frameworks_minikin-2f0604dce2207ba3223cc5f5cdd0642e25c0b6e3.tar.bz2 android_frameworks_minikin-2f0604dce2207ba3223cc5f5cdd0642e25c0b6e3.zip |
Add error logging on invalid cmap am: 734f037130 am: c91a77cf22
am: c3433aca7a
* commit 'c3433aca7acac7f642ba0dcc07429027d0453348':
Add error logging on invalid cmap
-rw-r--r-- | libs/minikin/CmapCoverage.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/libs/minikin/CmapCoverage.cpp b/libs/minikin/CmapCoverage.cpp index 9f3447e..a4503af 100644 --- a/libs/minikin/CmapCoverage.cpp +++ b/libs/minikin/CmapCoverage.cpp @@ -67,6 +67,7 @@ static bool getCoverageFormat4(vector<uint32_t>& coverage, const uint8_t* data, uint32_t start = readU16(data, kHeaderSize + 2 * (segCount + i)); if (end < start) { // invalid segment range: size must be positive + android_errorWriteLog(0x534e4554, "26413177"); return false; } uint32_t rangeOffset = readU16(data, kHeaderSize + 2 * (3 * segCount + i)); @@ -113,6 +114,7 @@ static bool getCoverageFormat12(vector<uint32_t>& coverage, const uint8_t* data, } uint32_t nGroups = readU32(data, kNGroupsOffset); if (nGroups >= kMaxNGroups || kFirstGroupOffset + nGroups * kGroupSize > size) { + android_errorWriteLog(0x534e4554, "25645298"); return false; } for (uint32_t i = 0; i < nGroups; i++) { @@ -121,6 +123,7 @@ static bool getCoverageFormat12(vector<uint32_t>& coverage, const uint8_t* data, uint32_t end = readU32(data, groupOffset + kEndCharCodeOffset); if (end < start) { // invalid group range: size must be positive + android_errorWriteLog(0x534e4554, "26413177"); return false; } addRange(coverage, start, end + 1); // file is inclusive, vector is exclusive |