am bb909347: am 07ed0359: hardware: samsung_slsi: libcamera2: Fix EXIF GPS Processing Method

* commit 'bb9093477c6395107fd1482a6a83dcecf71a5b3c':
  hardware: samsung_slsi: libcamera2: Fix EXIF GPS Processing Method
diff --git a/libcamera2/ExynosCameraHWInterface2.cpp b/libcamera2/ExynosCameraHWInterface2.cpp
index 73061d8..12dba05 100644
--- a/libcamera2/ExynosCameraHWInterface2.cpp
+++ b/libcamera2/ExynosCameraHWInterface2.cpp
@@ -5928,6 +5928,7 @@
         snprintf((char*)exifInfo->gps_datestamp, sizeof(exifInfo->gps_datestamp),
                 "%04d:%02d:%02d", tm_data.tm_year + 1900, tm_data.tm_mon + 1, tm_data.tm_mday);
 
+        memset(exifInfo->gps_processing_method, 0, 100);
         memcpy(exifInfo->gps_processing_method, currentEntry->gpsProcessingMethod, 32);
         exifInfo->enableGps = true;
     } else {
diff --git a/libcamera2/MetadataConverter.cpp b/libcamera2/MetadataConverter.cpp
index 07e08bf..11d1b3a 100644
--- a/libcamera2/MetadataConverter.cpp
+++ b/libcamera2/MetadataConverter.cpp
@@ -78,6 +78,7 @@
     uint32_t    num_entry = 0;
     uint32_t    index = 0;
     uint32_t    i = 0;
+    uint32_t    cnt = 0;
     camera_metadata_entry_t curr_entry;
     struct camera2_shot * dst = NULL;
 
@@ -92,7 +93,7 @@
     dst->ctl.aa.aeTargetFpsRange[1] = 30;
     dst->ctl.aa.aeExpCompensation = 5;
 
-    num_entry = (uint32_t)get_camera_metadata_data_count(request);
+    num_entry = (uint32_t)get_camera_metadata_entry_count(request);
     for (index = 0 ; index < num_entry ; index++) {
 
         if (get_camera_metadata_entry(request, index, &curr_entry)==0) {
@@ -205,9 +206,13 @@
                 break;
 
             case ANDROID_JPEG_GPS_PROCESSING_METHOD:
-                if (NO_ERROR != CheckEntryTypeMismatch(&curr_entry, TYPE_BYTE, 32))
+                if (NO_ERROR != CheckEntryTypeMismatch(&curr_entry, TYPE_BYTE))
                     break;
-                for (i=0 ; i<curr_entry.count ; i++)
+                if (curr_entry.count > 32)
+                    cnt = 32;
+                else
+                    cnt = curr_entry.count;
+                for (i = 0 ; i < cnt ; i++)
                     dst_ext->gpsProcessingMethod[i] = curr_entry.data.u8[i];
                 break;