提交 0cd33592 编写于 作者: B Behdad Esfahbod

Fix possible leaks

上级 d3f3690b
......@@ -286,8 +286,11 @@ hb_font_funcs_set_##name##_func (hb_font_funcs_t *ffuncs, \
void *user_data, \
hb_destroy_func_t destroy) \
{ \
if (ffuncs->immutable) \
if (ffuncs->immutable) { \
if (destroy) \
destroy (user_data); \
return; \
} \
\
if (ffuncs->destroy.name) \
ffuncs->destroy.name (ffuncs->user_data.name); \
......@@ -901,8 +904,11 @@ hb_font_set_funcs (hb_font_t *font,
void *user_data,
hb_destroy_func_t destroy)
{
if (font->immutable)
if (font->immutable) {
if (destroy)
destroy (user_data);
return;
}
if (font->destroy)
font->destroy (font->user_data);
......@@ -922,8 +928,12 @@ hb_font_set_funcs_data (hb_font_t *font,
void *user_data,
hb_destroy_func_t destroy)
{
if (font->immutable)
/* Destroy user_data? */
if (font->immutable) {
if (destroy)
destroy (user_data);
return;
}
if (font->destroy)
font->destroy (font->user_data);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册