summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOleg Oshmyan <chortos@inbox.lv>2016-12-28 22:19:51 +0200
committerOleg Oshmyan <chortos@inbox.lv>2016-12-29 00:37:38 +0200
commit53fee0874ab43ec53c62b3d5455a812b6d346506 (patch)
tree2e47194e359ce844a90a4ef0342182c80a91890f
parentf221205015abb76995d60ddae8bb74ca958a9182 (diff)
downloadlibass-53fee0874ab43ec53c62b3d5455a812b6d346506.tar.bz2
libass-53fee0874ab43ec53c62b3d5455a812b6d346506.tar.xz
Fix memory leak when Language header is defined more than once
Discovered by OSS-Fuzz. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=229.
-rw-r--r--libass/ass.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/libass/ass.c b/libass/ass.c
index 1cb0d4c..e8cefc5 100644
--- a/libass/ass.c
+++ b/libass/ass.c
@@ -622,6 +622,7 @@ static int process_info_line(ASS_Track *track, char *str)
} else if (!strncmp(str, "Language:", 9)) {
char *p = str + 9;
while (*p && ass_isspace(*p)) p++;
+ free(track->Language);
track->Language = strndup(p, 2);
}
return 0;