Fix emulator crash.

Change-Id: I4f238bbd0175036b6003ebdf266de608d6acc6e7
diff --git a/android/camera/camera-capture-linux.c b/android/camera/camera-capture-linux.c
index b9a4227..5243fb6 100644
--- a/android/camera/camera-capture-linux.c
+++ b/android/camera/camera-capture-linux.c
@@ -670,15 +670,16 @@
 static int
 _camera_device_enum_pixel_formats(LinuxCameraDevice* cd, QemuPixelFormat** fmts)
 {
-    int n;
+    int n, max_fmt;
     int fmt_num = 0;
     int out_num = 0;
     struct v4l2_fmtdesc fmt_enum;
     QemuPixelFormat* arr;
 
     /* Calculate number of supported formats. */
-    for (n = 0; ; n++) {
-        fmt_enum.index = n;
+    for (max_fmt = 0; ; max_fmt++) {
+        memset(&fmt_enum, 0, sizeof(fmt_enum));
+        fmt_enum.index = max_fmt;
         fmt_enum.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
         if(_xioctl(cd->handle, VIDIOC_ENUM_FMT, &fmt_enum)) {
             break;
@@ -700,7 +701,8 @@
     }
     arr = *fmts;
     memset(arr, 0, fmt_num * sizeof(QemuPixelFormat));
-    for (n = 0; n < fmt_num && out_num < fmt_num; n++) {
+    for (n = 0; n < max_fmt && out_num < fmt_num; n++) {
+        memset(&fmt_enum, 0, sizeof(fmt_enum));
         fmt_enum.index = n;
         fmt_enum.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
         if(_xioctl(cd->handle, VIDIOC_ENUM_FMT, &fmt_enum)) {
@@ -757,7 +759,7 @@
     QemuPixelFormat* formats = NULL;
     int num_pix_fmts = _camera_device_enum_pixel_formats(cd, &formats);
     if (num_pix_fmts <= 0) {
-        return num_pix_fmts;
+        return -1;
     }
 
     /* Lets see if camera supports preferred formats */