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

Fix possible leaks

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