#include <string.h>
#include <unistd.h>
#include <regex.h>
+#include <xen-tools/libs.h>
#include "xenstat_priv.h"
sprintf(tmp, "/sys/class/net/%s/bridge", de->d_name);
if (access(tmp, F_OK) == 0) {
- strncpy(result, de->d_name, resultLen);
- result[resultLen - 1] = 0;
+ /*
+ * Do not use strncpy to prevent compiler warning with
+ * gcc >= 10.0
+ * If de->d_name is longer then resultLen we truncate it
+ */
+ memset(result, 0, resultLen);
+ memcpy(result, de->d_name, MIN(strnlen(de->d_name,
+ NAME_MAX),resultLen - 1));
}
}
}
{
/* Helper variables for parseNetDevLine() function defined above */
int i;
- char line[512] = { 0 }, iface[16] = { 0 }, devBridge[256] = { 0 }, devNoBridge[257] = { 0 };
+ char line[512] = { 0 }, iface[16] = { 0 }, devBridge[16] = { 0 }, devNoBridge[17] = { 0 };
unsigned long long rxBytes, rxPackets, rxErrs, rxDrops, txBytes, txPackets, txErrs, txDrops;
struct priv_data *priv = get_priv_data(node->handle);