diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2013-12-13 15:14:03 +0100 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2013-12-13 15:14:03 +0100 |
commit | 47eb15b989a0bbeef6647ec97d9ee646cb8e901a (patch) | |
tree | cb004d11a4ab2a158202839e290edbb4df87b2fe /libavfilter | |
parent | 8f9569cfacb9f595e1f5a7b45f2d31d9499369fa (diff) | |
download | ffmpeg-streaming-47eb15b989a0bbeef6647ec97d9ee646cb8e901a.zip ffmpeg-streaming-47eb15b989a0bbeef6647ec97d9ee646cb8e901a.tar.gz |
avfilter/vf_pullup: fix memleak on error
Fixes CID1108604
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavfilter')
-rw-r--r-- | libavfilter/vf_pullup.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/libavfilter/vf_pullup.c b/libavfilter/vf_pullup.c index d0b910f..58d4d7a 100644 --- a/libavfilter/vf_pullup.c +++ b/libavfilter/vf_pullup.c @@ -157,13 +157,17 @@ static PullupField *make_field_queue(PullupContext *s, int len) for (; len > 0; len--) { f->next = av_mallocz(sizeof(*f->next)); - if (!f->next) + if (!f->next) { + free_field_queue(head, &f); return NULL; + } f->next->prev = f; f = f->next; - if (alloc_metrics(s, f) < 0) + if (alloc_metrics(s, f) < 0) { + free_field_queue(head, &f); return NULL; + } } f->next = head; |