Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(7)

Side by Side Diff: third_party/harfbuzz/README.google

Issue 271098: Fix harfbuzz read past end of string on arabic text. (Closed)
Patch Set: Created 11 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | third_party/harfbuzz/src/harfbuzz-arabic.c » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 Harfbuzz 1 Harfbuzz
2 2
3 http://freedesktop.org/wiki/Software/HarfBuzz 3 http://freedesktop.org/wiki/Software/HarfBuzz
4 4
5 This code was taken from cb83c38045a7dd098f8edd4530d328e999a7bbaf 5 This code was taken from cb83c38045a7dd098f8edd4530d328e999a7bbaf
6 (git://anongit.freedesktop.org/harfbuzz) 6 (git://anongit.freedesktop.org/harfbuzz)
7 7
8 The contrib/ directory was written by us and is in the process of getting upstre amed. Additionally, this patch was applied: 8 The contrib/ directory was written by us and is in the process of getting upstre amed. Additionally, these patches were applied:
9
9 10
10 diff --git a/src/harfbuzz-shaper.h b/src/harfbuzz-shaper.h 11 diff --git a/src/harfbuzz-shaper.h b/src/harfbuzz-shaper.h
11 index e8f5513..1577b59 100644 12 index e8f5513..1577b59 100644
12 --- a/src/harfbuzz-shaper.h 13 --- a/src/harfbuzz-shaper.h
13 +++ b/src/harfbuzz-shaper.h 14 +++ b/src/harfbuzz-shaper.h
14 @@ -242,7 +242,9 @@ typedef struct HB_Font_ { 15 @@ -242,7 +242,9 @@ typedef struct HB_Font_ {
15 void *userData; 16 void *userData;
16 } HB_FontRec; 17 } HB_FontRec;
17 18
18 -typedef struct { 19 -typedef struct {
19 +typedef struct HB_ShaperItem_ HB_ShaperItem; 20 +typedef struct HB_ShaperItem_ HB_ShaperItem;
20 + 21 +
21 +struct HB_ShaperItem_ { 22 +struct HB_ShaperItem_ {
22 const HB_UChar16 *string; 23 const HB_UChar16 *string;
23 hb_uint32 stringLength; 24 hb_uint32 stringLength;
24 HB_ScriptItem item; 25 HB_ScriptItem item;
25 @@ -262,7 +264,7 @@ typedef struct { 26 @@ -262,7 +264,7 @@ typedef struct {
26 27
27 /* internal */ 28 /* internal */
28 HB_Bool kerning_applied; /* out: kerning applied by shaper */ 29 HB_Bool kerning_applied; /* out: kerning applied by shaper */
29 -} HB_ShaperItem; 30 -} HB_ShaperItem;
30 +}; 31 +};
31 32
32 HB_Bool HB_ShapeItem(HB_ShaperItem *item); 33 HB_Bool HB_ShapeItem(HB_ShaperItem *item);
34
35
36 http://bugs.freedesktop.org/show_bug.cgi?id=24540:
37 diff --git a/third_party/harfbuzz/src/harfbuzz-arabic.c b/third_party/harfbuzz/s rc/harfbuzz-arabic.c
38 index 0609232..de3c1f4 100644
39 --- a/third_party/harfbuzz/src/harfbuzz-arabic.c
40 +++ b/third_party/harfbuzz/src/harfbuzz-arabic.c
41 @@ -1009,7 +1009,7 @@ static HB_Bool arabicSyriacOpenTypeShape(HB_ShaperItem *it em, HB_Bool *ot_ok)
42 ++l;
43 ++properties;
44 }
45 - if (f + l < item->stringLength) {
46 + if (f + l + item->item.pos < item->stringLength) {
47 ++l;
48 }
49 getArabicProperties(uc+f, l, props);
OLDNEW
« no previous file with comments | « no previous file | third_party/harfbuzz/src/harfbuzz-arabic.c » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698