diff options
author | Thomas Haller <thaller@redhat.com> | 2015-07-03 16:13:35 +0200 |
---|---|---|
committer | Thomas Haller <thaller@redhat.com> | 2015-07-12 13:56:52 +0200 |
commit | d74a3b1194ecd64e290586b3ce61bdf1110bce26 (patch) | |
tree | 92f67ebeaead88bfb9afd95f892407fbf9023ff4 | |
parent | aefea43380025135ac007637a3f27d8d1c2b59f1 (diff) | |
download | NetworkManager-d74a3b1194ecd64e290586b3ce61bdf1110bce26.tar.gz |
platform: don't allocate string for flags in nm_platform_ip6_address_to_string()
-rw-r--r-- | src/platform/nm-platform.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/src/platform/nm-platform.c b/src/platform/nm-platform.c index b534b273d2..cfeb5319c7 100644 --- a/src/platform/nm-platform.c +++ b/src/platform/nm-platform.c @@ -2553,12 +2553,12 @@ nm_platform_addr_flags2str (int flags, char *buf, size_t size) const char * nm_platform_ip6_address_to_string (const NMPlatformIP6Address *address) { +#define S_FLAGS_PREFIX " flags " char s_flags[256]; char s_address[INET6_ADDRSTRLEN]; char s_peer[INET6_ADDRSTRLEN]; char str_lft[30], str_pref[30], str_time[50]; char str_dev[TO_STRING_DEV_BUF_SIZE]; - char *str_flags; char *str_peer = NULL; const char *str_lft_p, *str_pref_p, *str_time_p; gint32 now = nm_utils_get_monotonic_timestamp_s (); @@ -2574,9 +2574,11 @@ nm_platform_ip6_address_to_string (const NMPlatformIP6Address *address) _to_string_dev (NULL, address->ifindex, str_dev, sizeof (str_dev)); - nm_platform_addr_flags2str (address->flags, s_flags, sizeof (s_flags)); - - str_flags = s_flags[0] ? g_strconcat (" flags ", s_flags, NULL) : NULL; + nm_platform_addr_flags2str (address->flags, &s_flags[STRLEN (S_FLAGS_PREFIX)], sizeof (s_flags) - STRLEN (S_FLAGS_PREFIX)); + if (s_flags[STRLEN (S_FLAGS_PREFIX)] == '\0') + s_flags[0] = '\0'; + else + memcpy (s_flags, S_FLAGS_PREFIX, STRLEN (S_FLAGS_PREFIX)); str_lft_p = _lifetime_to_string (address->timestamp, address->lifetime ? address->lifetime : NM_PLATFORM_LIFETIME_PERMANENT, @@ -2592,9 +2594,8 @@ nm_platform_ip6_address_to_string (const NMPlatformIP6Address *address) s_address, address->plen, str_lft_p, str_pref_p, str_time_p, str_peer ? str_peer : "", str_dev, - str_flags ? str_flags : "", + s_flags, source_to_string (address->source)); - g_free (str_flags); g_free (str_peer); return _nm_platform_to_string_buffer; } |