From ef48a332712ab4b3b509a3a2f2f045763c238b61 Mon Sep 17 00:00:00 2001 From: Werner Lemberg Date: Sun, 23 Jan 2022 19:05:15 +0100 Subject: * src/svg/ftsvg.c (ft_svg_property_set): Disallow NULL pointers. --- src/svg/ftsvg.c | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) (limited to 'src/svg') diff --git a/src/svg/ftsvg.c b/src/svg/ftsvg.c index 569f8ccf8..55c50718f 100644 --- a/src/svg/ftsvg.c +++ b/src/svg/ftsvg.c @@ -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; } -- cgit v1.2.1