[FFmpeg-cvslog] vf_select: add NULL-checks in uninit
William Yu
git at videolan.org
Thu Aug 11 16:09:10 CEST 2011
ffmpeg | branch: master | William Yu <genwillyu at gmail.com> | Thu Aug 11 15:47:33 2011 +0200| [30ea0e47b5ddb13b431f997655b567d738e86d23] | committer: Stefano Sabatini
vf_select: add NULL-checks in uninit
Fix NULL pointer dereference in case of failed initialization.
Signed-off-by: Stefano Sabatini <stefano.sabatini-lala at poste.it>
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=30ea0e47b5ddb13b431f997655b567d738e86d23
---
libavfilter/vf_select.c | 4 ++++
1 files changed, 4 insertions(+), 0 deletions(-)
diff --git a/libavfilter/vf_select.c b/libavfilter/vf_select.c
index 3cd2347..33269b6 100644
--- a/libavfilter/vf_select.c
+++ b/libavfilter/vf_select.c
@@ -319,14 +319,18 @@ static av_cold void uninit(AVFilterContext *ctx)
AVFilterBufferRef *picref;
int i;
+ if (select->expr)
av_expr_free(select->expr);
select->expr = NULL;
+ if (select->pending_frames) {
for (i = 0; i < av_fifo_size(select->pending_frames)/sizeof(picref); i++) {
av_fifo_generic_read(select->pending_frames, &picref, sizeof(picref), NULL);
avfilter_unref_buffer(picref);
}
av_fifo_free(select->pending_frames);
+ }
+ select->pending_frames = NULL;
}
AVFilter avfilter_vf_select = {
More information about the ffmpeg-cvslog
mailing list