From 653aab70ac0a5dfa3e078a1cbbf6ab361eb242f3 Mon Sep 17 00:00:00 2001 From: Thomas Haller Date: Wed, 22 Nov 2017 22:07:20 +0100 Subject: [PATCH] platform: preserve errno in nm_platform_sysctl_get_int_checked() It's not clear whether free() changes errno. Be sure about it. https://bugzilla.gnome.org/show_bug.cgi?id=790726 --- src/platform/nm-platform.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/platform/nm-platform.c b/src/platform/nm-platform.c index f61355a084..0427a3687e 100644 --- a/src/platform/nm-platform.c +++ b/src/platform/nm-platform.c @@ -508,6 +508,7 @@ nm_platform_sysctl_get_int_checked (NMPlatform *self, const char *pathid, int di { char *value = NULL; gint32 ret; + int errsv; _CHECK_SELF (self, klass, fallback); @@ -522,7 +523,9 @@ nm_platform_sysctl_get_int_checked (NMPlatform *self, const char *pathid, int di } ret = _nm_utils_ascii_str_to_int64 (value, base, min, max, fallback); + errsv = errno; g_free (value); + errno = errsv; return ret; }