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 <jgr...@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

Reply via email to