Browse Source

avfilter/vf_atadenoise: do not use uninitialized data

Signed-off-by: Paul B Mahol <onemda@gmail.com>
tags/n3.0
Paul B Mahol 10 years ago
parent
commit
a019149249
1 changed files with 9 additions and 8 deletions
  1. +9
    -8
      libavfilter/vf_atadenoise.c

+ 9
- 8
libavfilter/vf_atadenoise.c View File

@@ -295,13 +295,14 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *buf)

if (s->q.available != s->size) {
if (s->q.available < s->mid) {
out = ff_get_video_buffer(outlink, outlink->w, outlink->h);
if (!out)
return AVERROR(ENOMEM);

for (i = 0; i < s->mid; i++)
ff_bufqueue_add(ctx, &s->q, av_frame_clone(out));
av_frame_free(&out);
for (i = 0; i < s->mid; i++) {
out = av_frame_clone(buf);
if (!out) {
av_frame_free(&buf);
return AVERROR(ENOMEM);
}
ff_bufqueue_add(ctx, &s->q, out);
}
}
if (s->q.available < s->size) {
ff_bufqueue_add(ctx, &s->q, buf);
@@ -362,7 +363,7 @@ static int request_frame(AVFilterLink *outlink)
ret = ff_request_frame(ctx->inputs[0]);

if (ret == AVERROR_EOF && !ctx->is_disabled && s->available) {
AVFrame *buf = ff_get_video_buffer(outlink, outlink->w, outlink->h);
AVFrame *buf = av_frame_clone(ff_bufqueue_peek(&s->q, s->available));
if (!buf)
return AVERROR(ENOMEM);



Loading…
Cancel
Save