提交 deaab5fc 编写于 作者: S Stefano Sabatini

Make v4l2_read_header() don't free a stream in case of failure when

reading its header. The stream will be freed later in
av_open_input_stream(). Fix a segmentation fault due to a double free
on the same pointer.

Originally committed as revision 14247 to svn://svn.ffmpeg.org/ffmpeg/trunk
上级 7c1d608e
......@@ -526,8 +526,6 @@ static int v4l2_read_header(AVFormatContext *s1, AVFormatParameters *ap)
capabilities = 0;
s->fd = device_open(s1, &capabilities);
if (s->fd < 0) {
av_free(st);
return AVERROR(EIO);
}
av_log(s1, AV_LOG_INFO, "[%d]Capabilities: %x\n", s->fd, capabilities);
......@@ -553,7 +551,6 @@ static int v4l2_read_header(AVFormatContext *s1, AVFormatParameters *ap)
if (desired_format == 0) {
av_log(s1, AV_LOG_ERROR, "Cannot find a proper format.\n");
close(s->fd);
av_free(st);
return AVERROR(EIO);
}
......@@ -576,7 +573,6 @@ static int v4l2_read_header(AVFormatContext *s1, AVFormatParameters *ap)
}
if (res < 0) {
close(s->fd);
av_free(st);
return AVERROR(EIO);
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册