summaryrefslogtreecommitdiffstats
path: root/libass
diff options
context:
space:
mode:
authorOneric <oneric@oneric.stub>2020-10-13 03:39:57 +0200
committerOleg Oshmyan <chortos@inbox.lv>2020-10-27 01:03:04 +0200
commit749e4c3bdc8cdff817c6e00d62543fc3882e8b28 (patch)
tree15ca07e74b3371883e7f78f1a15d7ecfdab664bb /libass
parent86da6159c9f9b6b278dd5cba7fe289ddd0203a3f (diff)
downloadlibass-749e4c3bdc8cdff817c6e00d62543fc3882e8b28.tar.bz2
libass-749e4c3bdc8cdff817c6e00d62543fc3882e8b28.tar.xz
Avoid passing NULL as a %s parameter
ass_msg's callback will most likely use vprintf. Passing NULL as %s to a _printf function is undefined behaviour.
Diffstat (limited to 'libass')
-rw-r--r--libass/ass.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/libass/ass.c b/libass/ass.c
index 370afb8..63bd1ee 100644
--- a/libass/ass.c
+++ b/libass/ass.c
@@ -630,6 +630,8 @@ static int process_styles_line(ASS_Track *track, char *str)
skip_spaces(&p);
free(track->style_format);
track->style_format = strdup(p);
+ if (!track->style_format)
+ return -1;
ass_msg(track->library, MSGL_DBG2, "Style format: %s",
track->style_format);
if (track->track_type == TRACK_TYPE_ASS)
@@ -768,6 +770,8 @@ static int process_events_line(ASS_Track *track, char *str)
skip_spaces(&p);
free(track->event_format);
track->event_format = strdup(p);
+ if (!track->event_format)
+ return -1;
ass_msg(track->library, MSGL_DBG2, "Event format: %s", track->event_format);
if (track->track_type == TRACK_TYPE_ASS)
custom_format_line_compatibility(track, p, ass_event_format);
@@ -889,8 +893,10 @@ static int process_fonts_line(ASS_Track *track, char *str)
decode_font(track);
}
track->parser_priv->fontname = strdup(p);
+ if (!track->parser_priv->fontname)
+ return -1;
ass_msg(track->library, MSGL_V, "Fontname: %s",
- track->parser_priv->fontname);
+ track->parser_priv->fontname);
return 0;
}