diff mbox series

[v2] tools/libs/stat: fix broken build

Message ID 20200912082132.21108-1-jgross@suse.com (mailing list archive)
State Superseded
Headers show
Series [v2] tools/libs/stat: fix broken build | expand

Commit Message

Jürgen Groß Sept. 12, 2020, 8:21 a.m. UTC
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@suse.com>
---
 tools/libs/stat/xenstat_linux.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Andrew Cooper Sept. 12, 2020, 12:49 p.m. UTC | #1
On 12/09/2020 09:21, Juergen Gross 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@suse.com>
> ---
>  tools/libs/stat/xenstat_linux.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/tools/libs/stat/xenstat_linux.c b/tools/libs/stat/xenstat_linux.c
> index 793263f2b6..4fee63e36d 100644
> --- a/tools/libs/stat/xenstat_linux.c
> +++ b/tools/libs/stat/xenstat_linux.c
> @@ -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);

:(

In function 'getBridge',
    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 - 1);
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In function 'getBridge',
    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 - 1);
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors

~Andrew
diff mbox series

Patch

diff --git a/tools/libs/stat/xenstat_linux.c b/tools/libs/stat/xenstat_linux.c
index 793263f2b6..4fee63e36d 100644
--- a/tools/libs/stat/xenstat_linux.c
+++ b/tools/libs/stat/xenstat_linux.c
@@ -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);