Browse Source

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
tags/v0.5
Stefano Sabatini 17 years ago
parent
commit
deaab5fc32
1 changed files with 0 additions and 4 deletions
  1. +0
    -4
      libavdevice/v4l2.c

+ 0
- 4
libavdevice/v4l2.c View File

@@ -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);
}


Loading…
Cancel
Save