summaryrefslogtreecommitdiffstats
path: root/libass
diff options
context:
space:
mode:
authorOneric <oneric@oneric.stub>2020-10-11 17:54:11 +0200
committerOleg Oshmyan <chortos@inbox.lv>2020-10-27 01:03:04 +0200
commit64dd74bfef8a4b9039d2fcb72f3c2ed02dbf1e9a (patch)
treee26680606b433a9f7147cc51b53fa6451449af5f /libass
parent26855a4ad9e74449a80ac1acb99b605ff745eda3 (diff)
downloadlibass-64dd74bfef8a4b9039d2fcb72f3c2ed02dbf1e9a.tar.bz2
libass-64dd74bfef8a4b9039d2fcb72f3c2ed02dbf1e9a.tar.xz
ass.c: handle event alloc fails
Diffstat (limited to 'libass')
-rw-r--r--libass/ass.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/libass/ass.c b/libass/ass.c
index 638d86c..f573885 100644
--- a/libass/ass.c
+++ b/libass/ass.c
@@ -788,6 +788,8 @@ static int process_events_line(ASS_Track *track, char *str)
skip_spaces(&str);
eid = ass_alloc_event(track);
+ if (eid < 0)
+ return -1;
event = track->events + eid;
// We can't parse events with event_format
@@ -1065,6 +1067,8 @@ void ass_process_chunk(ASS_Track *track, char *data, int size,
(int64_t) timecode, (int64_t) duration, str);
eid = ass_alloc_event(track);
+ if (eid < 0)
+ return;
event = track->events + eid;
p = str;