[svace] fix svace issues
authorYelin Jeong <yelini.jeong@samsung.com>
Mon, 27 Mar 2023 05:11:27 +0000 (14:11 +0900)
committer추지호/SoC Architecture팀(SR)/삼성전자 <jiho.chu@samsung.com>
Tue, 28 Mar 2023 00:55:45 +0000 (09:55 +0900)
This patch fixes multiple svace issues.

Signed-off-by: Yelin Jeong <yelini.jeong@samsung.com>
src/core/npu/NPUdrvAPI_emul.cc
src/core/npu/NPUdrvAPI_triv2.cc
src/core/utils/ne-conf.cc
src/core/utils/ne-utils.cc
tests/apptests/tvn_triv2_dmabuf.cc
tests/unittests/ne_core_comm_test.cc
tests/unittests/ne_core_data_test.cc
tests/unittests/ne_core_hwmem_test.cc

index 752a8f8d83d1e592984020a57d6466c243e46aa6..672bd985c9a08f90908a5507d1e024fdac4a9979 100644 (file)
@@ -635,7 +635,7 @@ TrinityEmulAPI::checkVersion (uint64_t npu_version) const {
   }
 
   if (!match) {
-    logerr (TAG, "npu version(0x%x), dev_type(0x%x)", npu_version, dev_type_);
+    logerr (TAG, "npu version(0x%lx), dev_type(0x%x)", npu_version, dev_type_);
     return -1;
   }
 
index 3e89805f751ceb81fab59c1593d895490295eab6..03fe77cefb192dfda97f57e62324169b9aedf753 100644 (file)
@@ -239,7 +239,7 @@ TrinityVision2API::alloc (size_t size, bool contiguous) const {
     return -EPERM;
   }
 
-  if (size == 0 || size > UINT32_MAX) {
+  if (size == 0) {
     logerr (TAG, "Invalid size detected: %zu\n", size);
     return -EINVAL;
   }
index dbb98d6707f0ef695b4ba9a4ad3c8beb605b8241..6f3910af404c65cd2589b2a8469c71a17d46183c 100644 (file)
@@ -242,10 +242,10 @@ Conf::setLogDir (const char *log_dir) {
 void
 Conf::setLogLevel (const char *log_level) {
   if (log_level) {
-    unsigned long val;
+    unsigned long long val;
 
     errno = 0;
-    val = strtoul (log_level, nullptr, 10);
+    val = strtoull (log_level, nullptr, 10);
     if (errno == 0 && val <= UINT32_MAX) {
       log_level_ = static_cast<uint32_t> (val);
     }
@@ -259,10 +259,10 @@ Conf::setLogLevel (const char *log_level) {
 void
 Conf::setNumThreads (const char *num_threads) {
   if (num_threads) {
-    unsigned long val;
+    unsigned long long val;
 
     errno = 0;
-    val = strtoul (num_threads, nullptr, 10);
+    val = strtoull (num_threads, nullptr, 10);
     if (errno == 0 && val <= UINT32_MAX && val > 0) {
       num_threads_ = static_cast<uint32_t> (val);
     }
index e7c3f2da99698ef2f92eb7da652ed31e0a3b2577..3f240f824feb300889d8c0e4206ab33a6b55eba4 100644 (file)
@@ -98,14 +98,15 @@ int
 Logger::logwrite_args (npu_loglevel l, const char *tag, const char *format, va_list args) {
   std::unique_lock<std::mutex> lock (m_);
   time_t ltime = time (nullptr);
-  char *time_str;
-
+  char time_str[100];
+  struct tm t;
   /**
    * localtime() and asctime() are not MT-safe. There are alternatives,
    * localtime_r() and asctime_r(), when __USE_POSIX is set. Without them, we
    * need critical section here.
    */
-  time_str = asctime (localtime (&ltime));
+  localtime_r (&ltime, &t);
+  asctime_r (&t, time_str);
   time_str[strcspn (time_str, "\n")] = '\x00';
 
   char log_msg[MAX_LOG_MSG];
index fb1eb056ef6b68e2fc74980d95e3ea75c3004c48..7a0e1f70ee574904d5f43a27b4ab2bf55de9b324 100644 (file)
@@ -145,7 +145,8 @@ class TesterTRIV2 {
       size_t size = ifs.tellg ();
 
       ifs.seekg (0);
-      ifs.read (static_cast<char *> (input_tmp_.bufs[idx].addr) + input_seg_off, size);
+      ifs.read (static_cast<char *> (input_tmp_.bufs[idx].addr) + input_seg_off,
+                static_cast<std::streamsize> (size));
       ifs.close ();
 
       input_.bufs[idx].type = BUFFER_DMABUF;
index a68e593febbca6fa2034cc602ca11d3209bcd4c1..3a9f65fcb7fde6bcdbcd73823bb87a740c714fc2 100644 (file)
@@ -139,7 +139,7 @@ TEST (ne_core_comm_test, extract_buffer_file) {
 
   for (size_t i = 0; i < size; i++) data[i] = 'a';
 
-  ofs.write (data, size);
+  ofs.write (data, static_cast<std::streamsize> (size));
   ofs.close ();
 
   memset (data, '\x00', size);
index ee8fc98375230ac2e594c016226c430356acb199..0b13a10754b274caff4598c125afa338fde2dcf4 100644 (file)
@@ -65,6 +65,7 @@ TEST (ne_core_data_test, perform_quantization_asymm8) {
   float scale = 127.0;
   double max = 255.0;
   double min = 0.0;
+  unsigned int seed = (unsigned int) time (NULL);
 
   converter->setData (src_data, dst_data, 4096 * 2);
   converter->setDataDims (data_dims);
@@ -75,7 +76,7 @@ TEST (ne_core_data_test, perform_quantization_asymm8) {
 
   /* fill any data */
   for (int i = 0; i < 4096; i++) {
-    src_data[i] = rand () % UINT16_MAX;
+    src_data[i] = rand_r (&seed) % UINT16_MAX;
     dst_data[i] = 0;
   }
 
@@ -107,6 +108,7 @@ TEST (ne_core_data_test, perform_quantization_symm16) {
   float scale = 127.0;
   double max = 32767.0;
   double min = -32768.0;
+  unsigned int seed = (unsigned int) time (NULL);
 
   converter->setData (src_data, dst_data, 4096 * 4);
   converter->setDataDims (data_dims);
@@ -117,7 +119,7 @@ TEST (ne_core_data_test, perform_quantization_symm16) {
 
   /* fill any data */
   for (int i = 0; i < 4096; i++) {
-    src_data[i] = rand () % UINT32_MAX;
+    src_data[i] = rand_r (&seed) % UINT32_MAX;
     dst_data[i] = 0;
   }
 
@@ -147,6 +149,7 @@ TEST (ne_core_data_test, perform_quantization_n) {
   uint32_t data_dims[] = {1, 8, 8, 64};
   uint32_t zero = 0;
   float scale = 0.0;
+  unsigned int seed = (unsigned int) time (NULL);
 
   converter->setData (src_data, dst_data, 4096 * 4);
   converter->setDataDims (data_dims);
@@ -157,7 +160,7 @@ TEST (ne_core_data_test, perform_quantization_n) {
 
   /* fill any data */
   for (int i = 0; i < 4096; i++) {
-    src_data[i] = rand () % UINT32_MAX;
+    src_data[i] = rand_r (&seed) % UINT32_MAX;
     dst_data[i] = 0;
   }
 
@@ -182,6 +185,7 @@ TEST (ne_core_data_test, perform_dequantization_asymm8) {
   uint32_t data_dims[] = {1, 8, 8, 64};
   uint32_t zero = 127;
   float scale = 127.0;
+  unsigned int seed = (unsigned int) time (NULL);
 
   converter->setData (src_data, dst_data, 4096);
   converter->setDataDims (data_dims);
@@ -192,7 +196,7 @@ TEST (ne_core_data_test, perform_dequantization_asymm8) {
 
   /* fill any data */
   for (int i = 0; i < 4096; i++) {
-    src_data[i] = rand () % UINT8_MAX;
+    src_data[i] = rand_r (&seed) % UINT8_MAX;
     dst_data[i] = 0;
   }
 
@@ -220,6 +224,7 @@ TEST (ne_core_data_test, perform_dequantization_symm16) {
   uint32_t data_dims[] = {1, 8, 8, 64};
   uint32_t zero = 0;
   float scale = 127.0;
+  unsigned int seed = (unsigned int) time (NULL);
 
   converter->setData (src_data, dst_data, 4096 * 2);
   converter->setDataDims (data_dims);
@@ -230,7 +235,7 @@ TEST (ne_core_data_test, perform_dequantization_symm16) {
 
   /* fill any data */
   for (int i = 0; i < 4096; i++) {
-    src_data[i] = rand () % INT16_MAX;
+    src_data[i] = rand_r (&seed) % INT16_MAX;
     dst_data[i] = 0;
   }
 
@@ -257,6 +262,7 @@ TEST (ne_core_data_test, perform_layer_conversion_asymm8) {
   uint8_t *dst_data = new uint8_t[4096];
   uint32_t data_dims[] = {1, 8, 8, 64};
   uint32_t granularity = DATA_GRANULARITY;
+  unsigned int seed = (unsigned int) time (NULL);
 
   converter->setData (src_data, dst_data, 4096);
   converter->setDataDims (data_dims);
@@ -265,7 +271,7 @@ TEST (ne_core_data_test, perform_layer_conversion_asymm8) {
 
   /* fill any data */
   for (int i = 0; i < 4096; i++) {
-    src_data[i] = rand () % UINT8_MAX;
+    src_data[i] = rand_r (&seed) % UINT8_MAX;
     dst_data[i] = 0;
   }
 
@@ -300,6 +306,7 @@ TEST (ne_core_data_test, perform_layer_conversion_symm16) {
   int16_t *dst_data = new int16_t[4096];
   uint32_t data_dims[] = {1, 8, 8, 64};
   uint32_t granularity = DATA_GRANULARITY;
+  unsigned int seed = (unsigned int) time (NULL);
 
   converter->setData (src_data, dst_data, 4096 * 2);
   converter->setDataDims (data_dims);
@@ -308,7 +315,7 @@ TEST (ne_core_data_test, perform_layer_conversion_symm16) {
 
   /* fill any data */
   for (int i = 0; i < 4096; i++) {
-    src_data[i] = rand () % INT16_MAX;
+    src_data[i] = rand_r (&seed) % INT16_MAX;
     dst_data[i] = 0;
   }
 
index ffed7ee48ad679b4c398a38cd8343e220c2e89cf..c91f921ed8a00d493480c02ba0cd47fa1b1b98c0 100644 (file)
@@ -156,11 +156,6 @@ TEST (ne_core_hwmem_test, hwmem_device_alloc_n) {
   EXPECT_NE (hwmem->alloc (size), 0);
   EXPECT_EQ (hwmem->dealloc (), 0);
 
-  /** too large size */
-  size = UINT32_MAX;
-  EXPECT_NE (hwmem->alloc (size + 1), 0);
-  EXPECT_EQ (hwmem->getSize (), (size_t) 0);
-
   delete hwmem;
 }