Join GitHub today
GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.
Sign upGlyphStore out-of-bounds access with multiple combining characters #582
Comments
|
Okay, the crash happens whenever we try to put multiple combining characters on the same base character. For example, two umlauts on an ./servo 'data:;base64,'$(printf '<p>n\xcc\x88\xcc\x88</p>' | base64) |
|
I'm not surprised at all that this doesn't work yet :-) The storage strategy for glyphs is pretty much the same as Gecko/thebes, so it shouldn't be too hard to resume work. I think I was focusing more on multi-byte characters (Japanese) than combining chars, since I know Japanese and not complex script languages. |
|
It would be nice to separately test the case where \xcc is used to glue arbitrary glyphs together, versus a combining character such as combining-acute (and ostensibly the Devanagari-looking original test case) |
|
Well, the crash is gone. Should this be rescoped to making combining characters show up? |
|
Yes. (Good luck.) On Apr 18, 2014, at 7:40 AM, Josh Matthews notifications@github.com wrote:
|
|
Is this related? I got a crash like this:
|
|
Sounds like a different failure than the original one reported, but should definitely be fixed! |
|
Let me create a new issue for that later today On Wed, 11 Mar 2015 at 22:48 Josh Matthews notifications@github.com wrote:
|
|
These are both fixed, possibly by #10895. |
Export the servo-freetype-sys feature from webrender See commit message for why this is needed. I tested this to ensure that in the Firefox build we can opt-in to the codegen feature but NOT freetype-lib. The servo build seems to also be ok with this change (I cherry-picked this patch to the version of webrender that servo is currently using, and used [replace] to make servo use the modified version with this patch). The sample library in webrender also builds fine with this change, since servo-freetype-sys is enabled in the default configuration. If there's more testing needed please let me know. <!-- Reviewable:start --> --- This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/webrender/582) <!-- Reviewable:end -->
Sourced from http://en.wikipedia.org/wiki/Wikipedia. The text is অসমীয়া ; base64'd below.
Steps to reproduce:
Output (with some of my own debug statements included):