From dd3ca10284f9f7f95b1f313a3aa678f2aef01b3f Mon Sep 17 00:00:00 2001 From: Thomas Haller Date: Wed, 1 May 2019 08:23:00 +0200 Subject: [PATCH] platform: fix nm_platform_qdisc_to_string() When using nm_utils_strbuf_*() API, the buffer gets always moved to the current end. We must thus remember and return the original start of the buffer. (cherry picked from commit b658e3da0825cf6e62e0850d3508dde1dd5c1914) --- src/platform/nm-platform.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/platform/nm-platform.c b/src/platform/nm-platform.c index f8cf0b8999..4d3b61405d 100644 --- a/src/platform/nm-platform.c +++ b/src/platform/nm-platform.c @@ -6427,10 +6427,13 @@ const char * nm_platform_qdisc_to_string (const NMPlatformQdisc *qdisc, char *buf, gsize len) { char str_dev[TO_STRING_DEV_BUF_SIZE]; + const char *buf0; if (!nm_utils_to_string_buffer_init_null (qdisc, &buf, &len)) return buf; + buf0 = buf; + nm_utils_strbuf_append (&buf, &len, "%s%s family %u handle %x parent %x info %x", qdisc->kind, _to_string_dev (NULL, qdisc->ifindex, str_dev, sizeof (str_dev)), @@ -6458,7 +6461,7 @@ nm_platform_qdisc_to_string (const NMPlatformQdisc *qdisc, char *buf, gsize len) nm_utils_strbuf_append (&buf, &len, " ecn"); } - return buf; + return buf0; } void