Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/videolan/dav1d.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/src/lib.c
diff options
context:
space:
mode:
authorRonald S. Bultje <rsbultje@gmail.com>2021-09-04 20:19:07 +0300
committerJean-Baptiste Kempf <jb@videolan.org>2021-09-05 11:19:55 +0300
commiteae65df192fc6df7753fc0a5626af5b1d6d00042 (patch)
tree4a42b3b9984127d8f535765c89fae6f4f1ec98fb /src/lib.c
parentb0ad2611d4b5506e56b34e86d5805322858bab2e (diff)
Fix memleak
Credit to Oss-Fuzz.
Diffstat (limited to 'src/lib.c')
-rw-r--r--src/lib.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/lib.c b/src/lib.c
index 25b636d..80a400b 100644
--- a/src/lib.c
+++ b/src/lib.c
@@ -549,6 +549,7 @@ static COLD void close_internal(Dav1dContext **const c_out, int flush) {
// clean-up threading stuff
if (c->n_fc > 1) {
+ freep(&f->tile_thread.lowest_pixel_mem);
freep(&f->frame_thread.b);
dav1d_freep_aligned(&f->frame_thread.pal_idx);
dav1d_freep_aligned(&f->frame_thread.cf);
@@ -558,6 +559,7 @@ static COLD void close_internal(Dav1dContext **const c_out, int flush) {
pthread_cond_destroy(&f->task_thread.cond);
}
freep(&f->task_thread.tasks);
+ freep(&f->task_thread.tile_tasks[0]);
dav1d_free_aligned(f->ts);
dav1d_free_aligned(f->ipred_edge[0]);
free(f->a);