metrics: fix compilation with -Og
authorOlivier Matz <olivier.matz@6wind.com>
Mon, 11 Sep 2017 15:13:30 +0000 (17:13 +0200)
committerFerruh Yigit <ferruh.yigit@intel.com>
Fri, 6 Oct 2017 00:49:50 +0000 (02:49 +0200)
The compilation with gcc-6.3.0 and EXTRA_CFLAGS=-Og gives the following
error:

  CC rte_metrics.o
  rte_metrics.c: In function
  ‘rte_metrics_reg_names’: rte_metrics.c:153:22: error: ‘entry’
                           may be used uninitialized in this function
                           [-Werror=maybe-uninitialized]
    entry->idx_next_set = 0;
    ~~~~~~~~~~~~~~~~~~~~^~~

This is a false positive, gcc is not able to see that we always go in
the loop at least once, initializing entry.

Fix the warning by initializing entry to NULL.

Signed-off-by: Olivier Matz <olivier.matz@6wind.com>
lib/librte_metrics/rte_metrics.c

index b66a72b..d940400 100644 (file)
@@ -115,7 +115,7 @@ rte_metrics_reg_name(const char *name)
 int
 rte_metrics_reg_names(const char * const *names, uint16_t cnt_names)
 {
-       struct rte_metrics_meta_s *entry;
+       struct rte_metrics_meta_s *entry = NULL;
        struct rte_metrics_data_s *stats;
        const struct rte_memzone *memzone;
        uint16_t idx_name;