From 1f7be4951900ca3004cb258225bc924f49deefd2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ji=C5=99=C3=AD=20Klime=C5=A1?= Date: Fri, 18 Sep 2015 10:42:10 +0200 Subject: [PATCH] libnm-core/libnm-util: fix an assertion in adsl setting (process:7799): GLib-CRITICAL **: g_ascii_strdown: assertion 'str != NULL' failed (cherry picked from commit 3d64d45d16d761802e92cc3d83a89e3dd572d36d) --- libnm-core/nm-setting-adsl.c | 7 +++++-- libnm-util/nm-setting-adsl.c | 7 +++++-- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/libnm-core/nm-setting-adsl.c b/libnm-core/nm-setting-adsl.c index 2e71f8e790..7d78f06087 100644 --- a/libnm-core/nm-setting-adsl.c +++ b/libnm-core/nm-setting-adsl.c @@ -267,6 +267,7 @@ set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { NMSettingAdslPrivate *priv = NM_SETTING_ADSL_GET_PRIVATE (object); + const char *str; switch (prop_id) { case PROP_USERNAME: @@ -282,11 +283,13 @@ set_property (GObject *object, guint prop_id, break; case PROP_PROTOCOL: g_free (priv->protocol); - priv->protocol = g_ascii_strdown (g_value_get_string (value), -1); + str = g_value_get_string (value); + priv->protocol = str ? g_ascii_strdown (str, -1) : NULL; break; case PROP_ENCAPSULATION: g_free (priv->encapsulation); - priv->encapsulation = g_ascii_strdown (g_value_get_string (value), -1); + str = g_value_get_string (value); + priv->encapsulation = str ? g_ascii_strdown (str, -1) : NULL; break; case PROP_VPI: priv->vpi = g_value_get_uint (value); diff --git a/libnm-util/nm-setting-adsl.c b/libnm-util/nm-setting-adsl.c index 5355011cd1..51560a78bd 100644 --- a/libnm-util/nm-setting-adsl.c +++ b/libnm-util/nm-setting-adsl.c @@ -287,6 +287,7 @@ set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { NMSettingAdslPrivate *priv = NM_SETTING_ADSL_GET_PRIVATE (object); + const char *str; switch (prop_id) { case PROP_USERNAME: @@ -302,11 +303,13 @@ set_property (GObject *object, guint prop_id, break; case PROP_PROTOCOL: g_free (priv->protocol); - priv->protocol = g_ascii_strdown (g_value_get_string (value), -1); + str = g_value_get_string (value); + priv->protocol = str ? g_ascii_strdown (str, -1) : NULL; break; case PROP_ENCAPSULATION: g_free (priv->encapsulation); - priv->encapsulation = g_ascii_strdown (g_value_get_string (value), -1); + str = g_value_get_string (value); + priv->encapsulation = str ? g_ascii_strdown (str, -1) : NULL; break; case PROP_VPI: priv->vpi = g_value_get_uint (value);