diff options
author | Oneric <oneric@oneric.stub> | 2020-10-13 03:39:57 +0200 |
---|---|---|
committer | Oleg Oshmyan <chortos@inbox.lv> | 2020-10-27 01:03:04 +0200 |
commit | 749e4c3bdc8cdff817c6e00d62543fc3882e8b28 (patch) | |
tree | 15ca07e74b3371883e7f78f1a15d7ecfdab664bb /libass | |
parent | 86da6159c9f9b6b278dd5cba7fe289ddd0203a3f (diff) | |
download | libass-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.c | 8 |
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; } |