From e4877b9ca2d206cfec288b0eb03dfc957b3d186e Mon Sep 17 00:00:00 2001 From: Thomas Haller Date: Sun, 19 Jul 2020 11:31:14 +0200 Subject: [PATCH] shared: make nm_utils_strdup_reset() self-assignment safe There is no need to write code that has such trivial flaws. val = g_strdup ("aaaa"); nm_utils_strdup_reset (&val, &val[1]); --- shared/nm-glib-aux/nm-shared-utils.h | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/shared/nm-glib-aux/nm-shared-utils.h b/shared/nm-glib-aux/nm-shared-utils.h index ac091d8230..6d5547eaa1 100644 --- a/shared/nm-glib-aux/nm-shared-utils.h +++ b/shared/nm-glib-aux/nm-shared-utils.h @@ -1980,12 +1980,15 @@ guint nm_utils_parse_debug_string (const char *string, static inline gboolean nm_utils_strdup_reset (char **dst, const char *src) { + char *old; + nm_assert (dst); if (nm_streq0 (*dst, src)) return FALSE; - g_free (*dst); + old = *dst; *dst = g_strdup (src); + g_free (old); return TRUE; }