diff options
author | mtklein@google.com <mtklein@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> | 2013-11-04 21:22:45 +0000 |
---|---|---|
committer | mtklein@google.com <mtklein@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> | 2013-11-04 21:22:45 +0000 |
commit | 1e4c4fea1179324ce003d3c838ba135f3d21d943 (patch) | |
tree | 0fa4fb819d973cc87dcdfed4eb25dff3d4b35c5d /src/sfnt | |
parent | 84e922bfb3e7a03f6e35beb2f1e4f2657e7cd3e9 (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.cpp | 3 |
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]); } } |