VPP-1032: clean up coverity warnings. 34/9834/2
authorDave Barach <dave@barachs.net>
Wed, 13 Dec 2017 16:43:13 +0000 (11:43 -0500)
committerDamjan Marion <dmarion.lists@gmail.com>
Thu, 14 Dec 2017 09:51:49 +0000 (09:51 +0000)
"This time, for sure..."

Change-Id: Ie981003842d37c5eb6a0b2fe3abe974a93b86df8
Signed-off-by: Dave Barach <dave@barachs.net>
src/vppinfra/maplog.c
src/vppinfra/random.c

index 158361b..deb07aa 100644 (file)
@@ -394,6 +394,7 @@ clib_maplog_process (char *file_basename, void *fp_arg)
       goto out;
     }
   (void) close (fd);
+  fd = -1;
 
   file_size_in_bytes = h->file_size_in_records
     * h->record_size_in_cachelines * CLIB_CACHE_LINE_BYTES;
index e54a3bc..ea89f0a 100644 (file)
@@ -63,20 +63,26 @@ u32 standalone_random_default_seed = 1;
 f64
 clib_chisquare (u64 * values)
 {
-  int i;
+  u32 i, len;
   f64 d, delta_d, actual_frequency, expected_frequency;
   u64 n_observations = 0;
 
-  ASSERT (vec_len (values));
+  len = vec_len (values);
+  /*
+   * Shut up coverity. Return a huge number which should always exceed
+   * the X2 critical value.
+   */
+  if (len == 0)
+    return (f64) 1e70;
 
-  for (i = 0; i < vec_len (values); i++)
+  for (i = 0; i < len; i++)
     n_observations += values[i];
 
-  expected_frequency = (1.0 / (f64) vec_len (values)) * (f64) n_observations;
+  expected_frequency = (1.0 / (f64) len) * (f64) n_observations;
 
   d = 0.0;
 
-  for (i = 0; i < vec_len (values); i++)
+  for (i = 0; i < len; i++)
     {
       actual_frequency = ((f64) values[i]);
       delta_d = ((actual_frequency - expected_frequency)