net/ice: fix max entry number for ACL normal priority
[dpdk.git] / examples / vm_power_manager / channel_manager.c
index 74a2a67..fe91567 100644 (file)
@@ -27,7 +27,6 @@
 #include <libvirt/libvirt.h>
 
 #include "channel_manager.h"
-#include "channel_commands.h"
 #include "channel_monitor.h"
 #include "power_manager.h"
 
@@ -467,9 +466,15 @@ add_all_channels(const char *vm_name)
                        continue;
                }
 
-               snprintf(chan_info->channel_path,
+               if ((size_t)snprintf(chan_info->channel_path,
                                sizeof(chan_info->channel_path), "%s%s",
-                               CHANNEL_MGR_SOCKET_PATH, dir->d_name);
+                               CHANNEL_MGR_SOCKET_PATH, dir->d_name)
+                                       >= sizeof(chan_info->channel_path)) {
+                       RTE_LOG(ERR, CHANNEL_MANAGER, "Pathname too long for channel '%s%s'\n",
+                                       CHANNEL_MGR_SOCKET_PATH, dir->d_name);
+                       rte_free(chan_info);
+                       continue;
+               }
 
                if (setup_channel_info(&vm_info, &chan_info, channel_num) < 0) {
                        rte_free(chan_info);
@@ -506,7 +511,6 @@ add_channels(const char *vm_name, unsigned *channel_list,
        }
 
        for (i = 0; i < len_channel_list; i++) {
-
                if (channel_list[i] >= RTE_MAX_LCORE) {
                        RTE_LOG(INFO, CHANNEL_MANAGER, "Channel(%u) is out of range "
                                                        "0...%d\n", channel_list[i],
@@ -568,6 +572,9 @@ add_host_channels(void)
        }
 
        for (i = 0; i < ci->core_count; i++) {
+               if (rte_lcore_index(i) == -1)
+                       continue;
+
                if (ci->cd[i].global_enabled_cpus == 0)
                        continue;