summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--libass/ass_render.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/libass/ass_render.c b/libass/ass_render.c
index d179a8a0bc..ae1045efcc 100644
--- a/libass/ass_render.c
+++ b/libass/ass_render.c
@@ -791,9 +791,12 @@ static char* parse_tag(char* p, double pwr) {
char* start = p;
char* family;
skip_all('\\');
- family = malloc(p - start + 1);
- strncpy(family, start, p - start);
- family[p - start] = '\0';
+ if (p > start) {
+ family = malloc(p - start + 1);
+ strncpy(family, start, p - start);
+ family[p - start] = '\0';
+ } else
+ family = strdup(render_context.style->FontName);
if (render_context.family)
free(render_context.family);
render_context.family = family;