diff options
author | Raph Levien <raph@google.com> | 2016-02-17 23:43:26 +0000 |
---|---|---|
committer | android-build-merger <android-build-merger@google.com> | 2016-02-17 23:43:26 +0000 |
commit | d60a48cc7d8913ab6f05fbc5e5a43b9529df6ade (patch) | |
tree | 2d242f04a074cc9747b2cb26adc04c5421d4fc41 | |
parent | 3034e8b4ab627278b88faae2f4813562f31a7c2b (diff) | |
parent | 48e5307447bbdeb8c190211ec11801968cb0363e (diff) | |
download | android_frameworks_minikin-d60a48cc7d8913ab6f05fbc5e5a43b9529df6ade.tar.gz android_frameworks_minikin-d60a48cc7d8913ab6f05fbc5e5a43b9529df6ade.tar.bz2 android_frameworks_minikin-d60a48cc7d8913ab6f05fbc5e5a43b9529df6ade.zip |
Add error logging on invalid cmap - DO NOT MERGE
am: 48e5307447
* commit '48e5307447bbdeb8c190211ec11801968cb0363e':
Add error logging on invalid cmap - DO NOT MERGE
-rw-r--r-- | libs/minikin/CmapCoverage.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/libs/minikin/CmapCoverage.cpp b/libs/minikin/CmapCoverage.cpp index 9f3447e..82fae30 100644 --- a/libs/minikin/CmapCoverage.cpp +++ b/libs/minikin/CmapCoverage.cpp @@ -19,6 +19,9 @@ #define LOG_TAG "Minikin" #include <cutils/log.h> +#define LOG_TAG "Minikin" +#include <cutils/log.h> + #include <vector> using std::vector; @@ -67,6 +70,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 +117,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 +126,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 |