summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRaph Levien <raph@google.com>2016-02-17 23:43:26 +0000
committerandroid-build-merger <android-build-merger@google.com>2016-02-17 23:43:26 +0000
commitd60a48cc7d8913ab6f05fbc5e5a43b9529df6ade (patch)
tree2d242f04a074cc9747b2cb26adc04c5421d4fc41
parent3034e8b4ab627278b88faae2f4813562f31a7c2b (diff)
parent48e5307447bbdeb8c190211ec11801968cb0363e (diff)
downloadandroid_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.cpp6
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