Fixed segfault problem with cap_unicap (ticket #1112)
authorAlexander Reshetnikov <no@email>
Thu, 29 Mar 2012 12:20:06 +0000 (12:20 +0000)
committerAlexander Reshetnikov <no@email>
Thu, 29 Mar 2012 12:20:06 +0000 (12:20 +0000)
modules/highgui/src/cap_unicap.cpp

index b195aaa..15d96e7 100644 (file)
@@ -149,12 +149,15 @@ bool CvCapture_Unicap::initDevice() {
   }
 
   int i;
-  for (i = format.size_count - 1; i > 0; i--)
-    if (format.sizes[i].width == desired_size.width &&
-       format.sizes[i].height == desired_size.height)
-      break;
-  format.size.width = format.sizes[i].width;
-  format.size.height = format.sizes[i].height;
+  if (format.sizes)
+  {
+      for (i = format.size_count - 1; i > 0; i--)
+        if (format.sizes[i].width == desired_size.width &&
+        format.sizes[i].height == desired_size.height)
+          break;
+      format.size.width = format.sizes[i].width;
+      format.size.height = format.sizes[i].height;
+  }
 
   if (!SUCCESS(unicap_set_format(handle, &format))) {
     shutdownDevice();