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;
 
