diff --git a/ChangeLog b/ChangeLog index dc91ab546..0e3b5b543 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2020-08-25 Alexei Podtelezhnikov + + * src/smooth/ftsmooth.c (ft_smooth_raster_overlap): Limit width. + + Segmentation fault reported as + + https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=24729 + 2020-08-22 Werner Lemberg * src/truetype/ttgload.c (TT_Get_VMetrics): Add tracing message. diff --git a/src/smooth/ftsmooth.c b/src/smooth/ftsmooth.c index 3ce1cea24..eb5928f6f 100644 --- a/src/smooth/ftsmooth.c +++ b/src/smooth/ftsmooth.c @@ -379,6 +379,11 @@ TOrigin target; + /* Reject outlines that are too wide for 16-bit FT_Span. */ + /* Other limits are applied upstream with the same error code. */ + if ( bitmap->width * SCALE > 0x7FFF ) + return FT_THROW( Raster_Overflow ); + /* Set up direct rendering to average oversampled spans. */ params.target = bitmap; params.source = outline;