Browse Source

lavd/v4l2: fix error logic when enumerating standards

Set ret to 0 before enumerating standards in v4l2_set_parameters(), avoid
use of uninitialized variable.

Regression introduced in 60950adc18.
tags/n1.2
Stefano Sabatini 13 years ago
parent
commit
f0703b6cba
1 changed files with 5 additions and 2 deletions
  1. +5
    -2
      libavdevice/v4l2.c

+ 5
- 2
libavdevice/v4l2.c View File

@@ -679,13 +679,16 @@ static int v4l2_set_parameters(AVFormatContext *s1)

if (s->standard) {
if (s->std_id) {
ret = 0;
av_log(s1, AV_LOG_DEBUG, "Setting standard: %s\n", s->standard);
/* set tv standard */
for (i = 0; ; i++) {
standard.index = i;
if (v4l2_ioctl(s->fd, VIDIOC_ENUMSTD, &standard) < 0)
if (v4l2_ioctl(s->fd, VIDIOC_ENUMSTD, &standard) < 0) {
ret = AVERROR(errno);
if (ret < 0 || !av_strcasecmp(standard.name, s->standard))
break;
}
if (!av_strcasecmp(standard.name, s->standard))
break;
}
if (ret < 0) {


Loading…
Cancel
Save