]> git.ipfire.org Git - thirdparty/iproute2.git/commitdiff
ipxfrm: Replace STRBUF_CAT macro with strlcat()
authorPhil Sutter <phil@nwl.cc>
Fri, 1 Sep 2017 16:52:54 +0000 (18:52 +0200)
committerStephen Hemminger <stephen@networkplumber.org>
Fri, 1 Sep 2017 19:10:54 +0000 (12:10 -0700)
Signed-off-by: Phil Sutter <phil@nwl.cc>
ip/ipxfrm.c

index d5eb22e25476a38d990766bed9e1bc9d0333acb0..12c2f721571b67636dd2ea8656dddfd88ee061d2 100644 (file)
 #include "ip_common.h"
 
 #define STRBUF_SIZE    (128)
-#define STRBUF_CAT(buf, str) \
-       do { \
-               int rest = sizeof(buf) - 1 - strlen(buf); \
-               if (rest > 0) { \
-                       int len = strlen(str); \
-                       if (len > rest) \
-                               len = rest; \
-                       strncat(buf, str, len); \
-                       buf[sizeof(buf) - 1] = '\0'; \
-               } \
-       } while (0);
 
 struct xfrm_filter filter;
 
@@ -902,8 +891,8 @@ void xfrm_state_info_print(struct xfrm_usersa_info *xsinfo,
                           prefix, title);
 
        if (prefix)
-               STRBUF_CAT(buf, prefix);
-       STRBUF_CAT(buf, "\t");
+               strlcat(buf, prefix, sizeof(buf));
+       strlcat(buf, "\t", sizeof(buf));
 
        fputs(buf, fp);
        fprintf(fp, "replay-window %u ", xsinfo->replay_window);
@@ -944,7 +933,7 @@ void xfrm_state_info_print(struct xfrm_usersa_info *xsinfo,
                char sbuf[STRBUF_SIZE];
 
                memcpy(sbuf, buf, sizeof(sbuf));
-               STRBUF_CAT(sbuf, "sel ");
+               strlcat(sbuf, "sel ", sizeof(sbuf));
 
                xfrm_selector_print(&xsinfo->sel, xsinfo->family, fp, sbuf);
        }
@@ -992,8 +981,8 @@ void xfrm_policy_info_print(struct xfrm_userpolicy_info *xpinfo,
        }
 
        if (prefix)
-               STRBUF_CAT(buf, prefix);
-       STRBUF_CAT(buf, "\t");
+               strlcat(buf, prefix, sizeof(buf));
+       strlcat(buf, "\t", sizeof(buf));
 
        fputs(buf, fp);
        if (xpinfo->dir >= XFRM_POLICY_MAX) {