diff options
author | Victorien Le Couviour--Tuffet <victorien@videolan.org> | 2021-09-07 21:46:11 +0300 |
---|---|---|
committer | Victorien Le Couviour--Tuffet <victorien@videolan.org> | 2021-09-09 16:42:04 +0300 |
commit | 976b9e496541df00c10f47d189b97d296ea49204 (patch) | |
tree | 72d42c8e32c3f1e2ff9126ccc97fba0cbd9fcafe /src/lib.c | |
parent | 4613d3a5306e44f3fdc39989e6bb218841e78097 (diff) |
Fix a potential hang when dav1d_submit_frame fails
Credit to Oss-Fuzz.
Diffstat (limited to 'src/lib.c')
-rw-r--r-- | src/lib.c | 2 |
1 files changed, 1 insertions, 1 deletions
@@ -354,7 +354,7 @@ static int drain_picture(Dav1dContext *const c, Dav1dPicture *const out) { &f->task_thread.ttd->lock); Dav1dThreadPicture *const out_delayed = &c->frame_thread.out_delayed[next]; - if (out_delayed->p.data[0]) { + if (out_delayed->p.data[0] || atomic_load(&f->task_thread.error)) { if (atomic_load(&c->task_thread.first) + 1U < c->n_fc) atomic_fetch_add(&c->task_thread.first, 1U); else |