diff options
| author | Werner Lemberg <wl@gnu.org> | 2017-03-26 08:32:09 +0200 |
|---|---|---|
| committer | Werner Lemberg <wl@gnu.org> | 2017-03-26 08:32:09 +0200 |
| commit | 3774fc08b502c3e685afca098b6e8a195aded6a0 (patch) | |
| tree | 5c24b692c71bac0e900d09338021eccabf7eb5b6 | |
| parent | f958c48ee431bef8d4d466b40c9cb2d4dbcb7791 (diff) | |
| download | freetype2-3774fc08b502c3e685afca098b6e8a195aded6a0.tar.gz | |
* src/psaux/psobjs.c (t1_builder_close_contour): Add safety guard.
Reported as
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=941
| -rw-r--r-- | ChangeLog | 8 | ||||
| -rw-r--r-- | src/psaux/psobjs.c | 8 |
2 files changed, 16 insertions, 0 deletions
@@ -1,3 +1,11 @@ +2017-03-26 Werner Lemberg <wl@gnu.org> + + * src/psaux/psobjs.c (t1_builder_close_contour): Add safety guard. + + Reported as + + https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=941 + 2017-03-23 Werner Lemberg <wl@gnu.org> [psaux] Better protect `flex' handling. diff --git a/src/psaux/psobjs.c b/src/psaux/psobjs.c index d18e821..0baf836 100644 --- a/src/psaux/psobjs.c +++ b/src/psaux/psobjs.c @@ -1718,6 +1718,14 @@ first = outline->n_contours <= 1 ? 0 : outline->contours[outline->n_contours - 2] + 1; + /* in malformed fonts it can happen that a contour was started */ + /* but no points were added */ + if ( outline->n_contours && first == outline->n_points ) + { + outline->n_contours--; + return; + } + /* We must not include the last point in the path if it */ /* is located on the first point. */ if ( outline->n_points > 1 ) |
