[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH v3] tools/libs/stat: fix broken build
Hi Juergen, > On 14 Sep 2020, at 11:58, Bertrand Marquis <bertrand.marquis@xxxxxxx> wrote: > > > >> On 12 Sep 2020, at 14:08, Juergen Gross <jgross@xxxxxxxx> wrote: >> >> Making getBridge() static triggered a build error with some gcc versions: >> >> error: 'strncpy' output may be truncated copying 15 bytes from a string of >> length 255 [-Werror=stringop-truncation] >> >> Fix that by using a buffer with 256 bytes instead. >> >> Fixes: 6d0ec053907794 ("tools: split libxenstat into new tools/libs/stat >> directory") >> Signed-off-by: Juergen Gross <jgross@xxxxxxxx> > Reviewed-by: Bertrand Marquis <bertrand.marquis@xxxxxxx> Sorry i have to come back on this one. I still see an error compiling with Yocto on this one: | inlined from 'xenstat_collect_networks' at xenstat_linux.c:306:2: | xenstat_linux.c:81:6: error: 'strncpy' output may be truncated copying 255 bytes from a string of length 255 [-Werror=stringop-truncation] | 81 | strncpy(result, de->d_name, resultLen); | | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ To solve it, I need to define devBridge[257] as devNoBrideg. Regards Bertrand > >> --- >> tools/libs/stat/xenstat_linux.c | 4 ++-- >> 1 file changed, 2 insertions(+), 2 deletions(-) >> >> diff --git a/tools/libs/stat/xenstat_linux.c >> b/tools/libs/stat/xenstat_linux.c >> index 793263f2b6..d2ee6fda64 100644 >> --- a/tools/libs/stat/xenstat_linux.c >> +++ b/tools/libs/stat/xenstat_linux.c >> @@ -78,7 +78,7 @@ static void getBridge(char *excludeName, char *result, >> size_t resultLen) >> sprintf(tmp, "/sys/class/net/%s/bridge", >> de->d_name); >> >> if (access(tmp, F_OK) == 0) { >> - strncpy(result, de->d_name, resultLen - >> 1); >> + strncpy(result, de->d_name, resultLen); >> result[resultLen - 1] = 0; >> } >> } >> @@ -264,7 +264,7 @@ int xenstat_collect_networks(xenstat_node * node) >> { >> /* Helper variables for parseNetDevLine() function defined above */ >> int i; >> - char line[512] = { 0 }, iface[16] = { 0 }, devBridge[16] = { 0 }, >> devNoBridge[17] = { 0 }; >> + char line[512] = { 0 }, iface[16] = { 0 }, devBridge[256] = { 0 }, >> devNoBridge[257] = { 0 }; >> unsigned long long rxBytes, rxPackets, rxErrs, rxDrops, txBytes, >> txPackets, txErrs, txDrops; >> >> struct priv_data *priv = get_priv_data(node->handle); >> -- >> 2.26.2 >> >> >
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |