[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[xen stable-4.14] tools/libs/stat: fix broken build



commit 7398a44e8636c99f6b06fb16d05a64ee06980d10
Author:     Juergen Gross <jgross@xxxxxxxx>
AuthorDate: Sat Sep 12 15:08:36 2020 +0200
Commit:     Ian Jackson <iwj@xxxxxxxxxxxxxx>
CommitDate: Mon Nov 9 17:45:32 2020 +0000

    tools/libs/stat: fix broken build
    
    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>
    Acked-by: Wei Liu <wl@xxxxxxx>
    (cherry picked from commit c8099e48c3dbb8c7399551a265756ecf354eece2)
---
 tools/xenstat/libxenstat/src/xenstat_linux.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/tools/xenstat/libxenstat/src/xenstat_linux.c 
b/tools/xenstat/libxenstat/src/xenstat_linux.c
index 7530349eee..0274dc4d07 100644
--- a/tools/xenstat/libxenstat/src/xenstat_linux.c
+++ b/tools/xenstat/libxenstat/src/xenstat_linux.c
@@ -78,7 +78,7 @@ 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);
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.14



 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.