diff options
author | wm4 <wm4@nowhere> | 2014-11-17 21:24:52 +0100 |
---|---|---|
committer | wm4 <wm4@nowhere> | 2014-11-17 21:24:52 +0100 |
commit | 1b2795913a99e5df799b272528dcf57e8d6fce3f (patch) | |
tree | a990abb094d346ecab018a01aa3e2476db41c917 /libass/ass.c | |
parent | 2f9467cfd2574af44f97ee89b460c410a5a3c85a (diff) | |
download | libass-1b2795913a99e5df799b272528dcf57e8d6fce3f.tar.bz2 libass-1b2795913a99e5df799b272528dcf57e8d6fce3f.tar.xz |
More malloc checking
Use strndup() instead of malloc+copy.
Make all code deal with the possibility that ASS_Drawing.text can be
NULL (which can happen on allocation failure).
Skip fix_collisions() on malloc failure - the lines will overlap, but at
least libass won't crash.
Diffstat (limited to 'libass/ass.c')
-rw-r--r-- | libass/ass.c | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/libass/ass.c b/libass/ass.c index 80f4e7a..75f646f 100644 --- a/libass/ass.c +++ b/libass/ass.c @@ -579,9 +579,7 @@ static int process_info_line(ASS_Track *track, char *str) } else if (!strncmp(str, "Language:", 9)) { char *p = str + 9; while (*p && isspace(*p)) p++; - track->Language = malloc(3); - strncpy(track->Language, p, 2); - track->Language[2] = 0; + track->Language = strndup(p, 2); } return 0; } |