зеркало из https://github.com/stride3d/freetype.git
Fix Savannah bug #30263.
* src/smooth/ftgrays.c (gray_render_span): Use cast to `unsigned int' to avoid integer overflow. * src/smooth/ftsmooth.c (ft_smooth_render_generic): Use smaller threshold values for `width' and `height'. This is not directly related to the bug fix but makes sense anyway.
This commit is contained in:
Родитель
0ae6cf214f
Коммит
6305b869d8
11
ChangeLog
11
ChangeLog
|
@ -1,3 +1,14 @@
|
|||
2010-06-30 Werner Lemberg <wl@gnu.org>
|
||||
|
||||
Fix Savannah bug #30263.
|
||||
|
||||
* src/smooth/ftgrays.c (gray_render_span): Use cast to `unsigned
|
||||
int' to avoid integer overflow.
|
||||
|
||||
* src/smooth/ftsmooth.c (ft_smooth_render_generic): Use smaller
|
||||
threshold values for `width' and `height'. This is not directly
|
||||
related to the bug fix but makes sense anyway.
|
||||
|
||||
2010-06-30 Alexei Podtelezhnikov <apodtele@gmail.com>
|
||||
|
||||
Minor optimizations by avoiding divisions.
|
||||
|
|
|
@ -1186,7 +1186,7 @@
|
|||
/* first of all, compute the scanline offset */
|
||||
p = (unsigned char*)map->buffer - y * map->pitch;
|
||||
if ( map->pitch >= 0 )
|
||||
p += ( map->rows - 1 ) * map->pitch;
|
||||
p += (unsigned)( ( map->rows - 1 ) * map->pitch );
|
||||
|
||||
for ( ; count > 0; count--, spans++ )
|
||||
{
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
/* */
|
||||
/* Anti-aliasing renderer interface (body). */
|
||||
/* */
|
||||
/* Copyright 2000-2001, 2002, 2003, 2004, 2005, 2006, 2009 by */
|
||||
/* Copyright 2000-2001, 2002, 2003, 2004, 2005, 2006, 2009, 2010 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
|
@ -200,7 +200,7 @@
|
|||
|
||||
/* Required check is ( pitch * height < FT_ULONG_MAX ), */
|
||||
/* but we care realistic cases only. Always pitch <= width. */
|
||||
if ( width > 0xFFFFU || height > 0xFFFFU )
|
||||
if ( width > 0x7FFFU || height > 0x7FFFU )
|
||||
{
|
||||
FT_ERROR(( "ft_smooth_render_generic: glyph too large: %d x %d\n",
|
||||
width, height ));
|
||||
|
|
Загрузка…
Ссылка в новой задаче