summaryrefslogtreecommitdiff
path: root/libavfilter/vf_pullup.c
diff options
context:
space:
mode:
authorPaul B Mahol <onemda@gmail.com>2013-09-18 11:49:58 +0000
committerPaul B Mahol <onemda@gmail.com>2013-09-18 11:56:35 +0000
commitfe5b7612c0c9d1cf32c52a1edea993d6c40bdc25 (patch)
tree77c412320718c69fafc33b43ab2b3666fc4e60ad /libavfilter/vf_pullup.c
parentb7e7d8cdaf3aafd9b79daa8f6ed827d05e3f8548 (diff)
downloadffmpeg-fe5b7612c0c9d1cf32c52a1edea993d6c40bdc25.tar.gz
avfilter/vf_pullup: fix memleak of metrics for last PullupField
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Diffstat (limited to 'libavfilter/vf_pullup.c')
-rw-r--r--libavfilter/vf_pullup.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/libavfilter/vf_pullup.c b/libavfilter/vf_pullup.c
index f8f888cae5..a81bc56b57 100644
--- a/libavfilter/vf_pullup.c
+++ b/libavfilter/vf_pullup.c
@@ -718,17 +718,17 @@ static av_cold void uninit(AVFilterContext *ctx)
int i;
f = s->head;
- do {
- if (!f)
- break;
-
+ while (f) {
av_free(f->diffs);
av_free(f->combs);
av_free(f->vars);
+ if (f == s->last) {
+ av_freep(&s->last);
+ break;
+ }
f = f->next;
av_freep(&f->prev);
- } while (f != s->last);
- av_freep(&s->last);
+ };
for (i = 0; i < FF_ARRAY_ELEMS(s->buffers); i++) {
av_freep(&s->buffers[i].planes[0]);