diff options
author | Werner Lemberg <wl@gnu.org> | 2022-01-23 19:05:15 +0100 |
---|---|---|
committer | Werner Lemberg <wl@gnu.org> | 2022-01-23 19:05:15 +0100 |
commit | ef48a332712ab4b3b509a3a2f2f045763c238b61 (patch) | |
tree | e8d3ccdf5059975c632473aa110432a154ac82a2 /src/svg | |
parent | cddfe6574b1f96104b7c89bdc1979b54d69ba3e0 (diff) | |
download | freetype2-ef48a332712ab4b3b509a3a2f2f045763c238b61.tar.gz |
* src/svg/ftsvg.c (ft_svg_property_set): Disallow NULL pointers.
Diffstat (limited to 'src/svg')
-rw-r--r-- | src/svg/ftsvg.c | 20 |
1 files changed, 19 insertions, 1 deletions
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; } |