service: fix build with gcc 4.9
authorYi Yang <yi.y.yang@intel.com>
Thu, 21 Sep 2017 01:50:43 +0000 (09:50 +0800)
committerThomas Monjalon <thomas@monjalon.net>
Thu, 21 Sep 2017 12:42:53 +0000 (14:42 +0200)
Some compilers detect this error:

    error: ‘ids[0]’ may be used uninitialized in this function
    ret = rte_service_map_lcore_set(i, ids[lcore_iter], 1);

It can be reproduced very easily on Fedora 21 with
gcc-4.9.2-6.fc21.x86_64.

Fixes: 21698354c832 ("service: introduce service cores concept")
Cc: stable@dpdk.org
Signed-off-by: Yi Yang <yi.y.yang@intel.com>
Acked-by: Harry van Haaren <harry.van.haaren@intel.com>
lib/librte_eal/common/rte_service.c

index 43716bb..e598e16 100644 (file)
@@ -431,7 +431,7 @@ rte_service_start_with_defaults(void)
        uint32_t count = rte_service_get_count();
 
        int32_t lcore_iter = 0;
-       uint32_t ids[RTE_MAX_LCORE];
+       uint32_t ids[RTE_MAX_LCORE] = {0};
        int32_t lcore_count = rte_service_lcore_list(ids, RTE_MAX_LCORE);
 
        if (lcore_count == 0)