aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/sfnt
diff options
context:
space:
mode:
authorGravatar mtklein@google.com <mtklein@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81>2013-11-04 21:22:45 +0000
committerGravatar mtklein@google.com <mtklein@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81>2013-11-04 21:22:45 +0000
commit1e4c4fea1179324ce003d3c838ba135f3d21d943 (patch)
tree0fa4fb819d973cc87dcdfed4eb25dff3d4b35c5d /src/sfnt
parent84e922bfb3e7a03f6e35beb2f1e4f2657e7cd3e9 (diff)
We always read out of bounds here. Fix that.
Turns out the comment wasn't lying! BUG= R=bungeman@google.com Review URL: https://codereview.chromium.org/58473002 git-svn-id: http://skia.googlecode.com/svn/trunk@12123 2bbb7eff-a529-9590-31e7-b0007b416f81
Diffstat (limited to 'src/sfnt')
-rw-r--r--src/sfnt/SkOTTable_name.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/sfnt/SkOTTable_name.cpp b/src/sfnt/SkOTTable_name.cpp
index b536c0a115..b1b8c256d7 100644
--- a/src/sfnt/SkOTTable_name.cpp
+++ b/src/sfnt/SkOTTable_name.cpp
@@ -68,7 +68,8 @@ static uint16_t UnicodeFromMacRoman[0x80] = {
static void SkStringFromMacRoman(const uint8_t* macRoman, size_t length, SkString& utf8) {
utf8.reset();
for (size_t i = 0; i < length; ++i) {
- utf8.appendUnichar(macRoman[i] < 0x80 ? macRoman[i] : UnicodeFromMacRoman[macRoman[i]]);
+ utf8.appendUnichar(macRoman[i] < 0x80 ? macRoman[i]
+ : UnicodeFromMacRoman[macRoman[i] - 0x80]);
}
}