From 65d69021e5b8998cec1e7a13b8b297bfc606f9fd Mon Sep 17 00:00:00 2001 From: Andrea Claudi Date: Mon, 29 Apr 2019 20:09:12 +0200 Subject: [PATCH] ipxfrm: Replace STRBUF_CAT macro with strlcat() Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1465646 Upstream Status: iproute2.git commit 44cc6c792a650 commit 44cc6c792a6503e024f042c65f35cd44b3283b20 Author: Phil Sutter Date: Fri Sep 1 18:52:54 2017 +0200 ipxfrm: Replace STRBUF_CAT macro with strlcat() Signed-off-by: Phil Sutter --- ip/ipxfrm.c | 21 +++++---------------- 1 file changed, 5 insertions(+), 16 deletions(-) diff --git a/ip/ipxfrm.c b/ip/ipxfrm.c index b0cfac178f8bc..df72a0c0bf88e 100644 --- a/ip/ipxfrm.c +++ b/ip/ipxfrm.c @@ -40,17 +40,6 @@ #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; @@ -883,8 +872,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); @@ -925,7 +914,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); } @@ -973,8 +962,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) { -- 2.20.1