Utils/Examples: Fix a Coverity issue (#1893103) accepted/tizen_unified accepted/tizen_unified_x tizen accepted/tizen/unified/20250407.134801 accepted/tizen/unified/x/20250407.212238
authorWook Song <wook16.song@samsung.com>
Mon, 31 Mar 2025 05:37:22 +0000 (14:37 +0900)
committerWook Song <wook16.song@samsung.com>
Mon, 7 Apr 2025 03:13:57 +0000 (12:13 +0900)
This patch fixes a Coverity issue 1893103, that is related to
UNCAUGHT_EXCEPT.

Signed-off-by: Wook Song <wook16.song@samsung.com>
utils/examples/model_share.cc

index 893d48a2f6f08abe1b903bef2d8125bdac9e9ad0..7cc2aefa0142e876695d9e0873506c5c28cc9f9c 100644 (file)
@@ -55,9 +55,16 @@ compare (const char *golden_path, const char *data, uint64_t size) {
 
   ifs.seekg (0, std::ios::beg);
 
-  std::vector<uint8_t> raw_data (data, data + size);
+  std::vector<uint8_t> raw_data;
   std::vector<uint8_t> golden_data;
 
+  try {
+    raw_data = std::vector<uint8_t> (data, data + size);
+  } catch (...) {
+    std::cerr << "Failed to allocate memory for raw data\n";
+    return -1;
+  }
+
   try {
     golden_data.reserve (size);
   } catch (...) {
@@ -65,12 +72,22 @@ compare (const char *golden_path, const char *data, uint64_t size) {
     return -1;
   }
 
-  golden_data.insert (golden_data.begin (), std::istreambuf_iterator<char> (ifs),
-                      std::istreambuf_iterator<char> ());
+  try {
+    golden_data.insert (golden_data.begin (), std::istreambuf_iterator<char> (ifs),
+                        std::istreambuf_iterator<char> ());
+  } catch (...) {
+    std::cerr << "Failed to construct golden data\n";
+    return -1;
+  }
 
-  if (golden_data.end () !=
-      std::mismatch (golden_data.begin (), golden_data.end (), raw_data.begin ()).first) {
-    std::cerr << "Output data mismatch\n";
+  try {
+    if (golden_data.end () !=
+        std::mismatch (golden_data.begin (), golden_data.end (), raw_data.begin ()).first) {
+      std::cerr << "Output data mismatch\n";
+      return -1;
+    }
+  } catch (...) {
+    std::cerr << "Failed to invoke mismatch\n";
     return -1;
   }