[geocode-glib] ipclient: Validate the server property
- From: Bastien Nocera <hadess src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [geocode-glib] ipclient: Validate the server property
- Date: Wed, 20 Feb 2013 12:06:03 +0000 (UTC)
commit 702c3e7cc42f52c333776b70837adbc6ee5785b9
Author: Bastien Nocera <hadess hadess net>
Date: Wed Feb 20 13:00:16 2013 +0100
ipclient: Validate the server property
To avoid invalid values being passed.
geocode-glib/geocode-ipclient.c | 17 +++++++++++++++--
1 files changed, 15 insertions(+), 2 deletions(-)
---
diff --git a/geocode-glib/geocode-ipclient.c b/geocode-glib/geocode-ipclient.c
index b1cf009..fe79a34 100644
--- a/geocode-glib/geocode-ipclient.c
+++ b/geocode-glib/geocode-ipclient.c
@@ -47,6 +47,19 @@ struct _GeocodeIpclientPrivate {
G_DEFINE_TYPE (GeocodeIpclient, geocode_ipclient, G_TYPE_OBJECT)
static void
+geocode_ipclient_set_server (GeocodeIpclient *ipclient,
+ const char *server)
+{
+ g_return_if_fail (server != NULL);
+ g_return_if_fail (g_str_has_prefix (server, "http://") ||
+ g_str_has_prefix (server, "https://"));
+
+ g_free (ipclient->priv->server);
+ ipclient->priv->server = g_strdup (server);
+
+}
+
+static void
geocode_ipclient_set_property (GObject *gipclient,
guint property_id,
const GValue *value,
@@ -56,8 +69,8 @@ geocode_ipclient_set_property (GObject *gipclient,
switch (property_id) {
case PROP_SERVER:
- g_free (ipclient->priv->server);
- ipclient->priv->server = g_value_dup_string (value);
+ geocode_ipclient_set_server (ipclient,
+ g_value_get_string (value));
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (gipclient,
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]