* src/svg/ftsvg.c (ft_svg_property_set): Disallow NULL pointers.

This commit is contained in:
Werner Lemberg 2022-01-23 19:05:15 +01:00
parent cddfe6574b
commit ef48a33271
2 changed files with 21 additions and 1 deletions

View File

@ -223,6 +223,8 @@ FT_BEGIN_HEADER
* For example, in the preset hook one can draw the glyph on a recorder
* surface and later create a bitmap surface from it in the render hook.
*
* All four hooks must be non-NULL.
*
* @fields:
* init_svg ::
* The initialization hook.

View File

@ -168,16 +168,34 @@
if ( value_is_string == TRUE )
return FT_THROW( Invalid_Argument );
{
error = FT_THROW( Invalid_Argument );
goto Exit;
}
hooks = (SVG_RendererHooks*)value;
if ( !hooks->init_svg ||
!hooks->free_svg ||
!hooks->render_svg ||
!hooks->preset_slot )
{
FT_TRACE0(( "ft_svg_property_set:"
" SVG rendering hooks not set because\n" ));
FT_TRACE0(( " "
" at least one function pointer is NULL\n" ));
error = FT_THROW( Invalid_Argument );
goto Exit;
}
renderer->hooks = *hooks;
renderer->hooks_set = TRUE;
}
else
error = FT_THROW( Missing_Property );
Exit:
return error;
}