diff options
author | wm4 <wm4@nowhere> | 2015-09-09 12:06:47 +0200 |
---|---|---|
committer | wm4 <wm4@nowhere> | 2015-09-09 12:06:47 +0200 |
commit | 448bc77c909009e5a75cf93f41fcfce0ebedd7eb (patch) | |
tree | 1107d8fc76648dd767d6ca2b33d2e3caaa6cfb0b /libass/ass_fontselect.c | |
parent | 96a4fca266717422925db5591ef8b51471bd4798 (diff) | |
download | libass-448bc77c909009e5a75cf93f41fcfce0ebedd7eb.tar.bz2 libass-448bc77c909009e5a75cf93f41fcfce0ebedd7eb.tar.xz |
fontselect: avoid undefined behavior
Passing NULL as argument to %s format specifiers when using the printf
fasmily of functions is not allowed. While some libcs handle it, other
libcs will simply crash.
Diffstat (limited to 'libass/ass_fontselect.c')
-rw-r--r-- | libass/ass_fontselect.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/libass/ass_fontselect.c b/libass/ass_fontselect.c index 4818472..19ae6d4 100644 --- a/libass/ass_fontselect.c +++ b/libass/ass_fontselect.c @@ -666,7 +666,8 @@ char *ass_font_select(ASS_FontSelector *priv, ASS_Library *library, if (res) ass_msg(library, MSGL_WARN, "fontselect: Using default " "font family: (%s, %d, %d) -> %s, %d, %s", - family, bold, italic, res, *index, *postscript_name); + family, bold, italic, res, *index, + *postscript_name ? *postscript_name : "(none)"); } if (!res && default_provider && default_provider->funcs.get_fallback) { @@ -688,13 +689,14 @@ char *ass_font_select(ASS_FontSelector *priv, ASS_Library *library, *index = priv->index_default; ass_msg(library, MSGL_WARN, "fontselect: Using default font: " "(%s, %d, %d) -> %s, %d, %s", family, bold, italic, - priv->path_default, *index, *postscript_name); + priv->path_default, *index, + *postscript_name ? *postscript_name : "(none)"); } if (res) ass_msg(library, MSGL_INFO, "fontselect: (%s, %d, %d) -> %s, %d, %s", family, bold, - italic, res, *index, *postscript_name); + italic, res, *index, *postscript_name ? *postscript_name : "(none)"); return res; } |