diff options
author | Grigori Goronzy <greg@blackbox> | 2009-06-27 15:02:13 +0200 |
---|---|---|
committer | Grigori Goronzy <greg@blackbox> | 2009-06-27 16:31:30 +0200 |
commit | 490865d2c263aea6b7ee1dc1f197bb9fa7cb9b46 (patch) | |
tree | 5788facc49d215e52ddd897ab9f0999d47c15be7 | |
parent | c58cd622ea2d2ab54fd56533c57d9995802f7bfd (diff) | |
download | libass-490865d2c263aea6b7ee1dc1f197bb9fa7cb9b46.tar.bz2 libass-490865d2c263aea6b7ee1dc1f197bb9fa7cb9b46.tar.xz |
Fix strdup() string leaks
On two occassions strings where strdup()'ed but never freed. Fix these
two small memory leaks.
-rw-r--r-- | libass/ass_font.c | 3 | ||||
-rw-r--r-- | libass/ass_render.c | 5 |
2 files changed, 8 insertions, 0 deletions
diff --git a/libass/ass_font.c b/libass/ass_font.c index e76420d..52e6d3a 100644 --- a/libass/ass_font.c +++ b/libass/ass_font.c @@ -142,6 +142,7 @@ static int add_face(void *fc_priv, ass_font_t *font, uint32_t ch) if (error) { ass_msg(MSGL_WARN, MSGTR_LIBASS_ErrorOpeningMemoryFont, path); + free(path); return -1; } } else { @@ -149,6 +150,7 @@ static int add_face(void *fc_priv, ass_font_t *font, uint32_t ch) if (error) { ass_msg(MSGL_WARN, MSGTR_LIBASS_ErrorOpeningFont, path, index); + free(path); return -1; } } @@ -158,6 +160,7 @@ static int add_face(void *fc_priv, ass_font_t *font, uint32_t ch) font->faces[font->n_faces++] = face; update_transform(font); face_set_size(face, font->size); + free(path); return font->n_faces - 1; } diff --git a/libass/ass_render.c b/libass/ass_render.c index afea67d..6662e51 100644 --- a/libass/ass_render.c +++ b/libass/ass_render.c @@ -338,6 +338,9 @@ void ass_renderer_done(ass_renderer_t *render_priv) free(render_priv); free(render_priv->text_info.glyphs); free(render_priv->text_info.lines); + + free(render_priv->settings.default_font); + free(render_priv->settings.default_family); } /** @@ -2679,6 +2682,8 @@ int ass_set_fonts(ass_renderer_t *priv, const char *default_font, if (priv->settings.default_family) free(priv->settings.default_family); + free(priv->settings.default_font); + free(priv->settings.default_family); priv->settings.default_font = default_font ? strdup(default_font) : 0; priv->settings.default_family = default_family ? strdup(default_family) : 0; |