[Telepathy-commits] [telepathy-salut/master] salut_tubes_manager_requestotron: check if ServiceName is valid

Guillaume Desmottes guillaume.desmottes at collabora.co.uk
Fri Feb 6 03:15:03 PST 2009


---
 src/salut-tubes-manager.c |    9 +++++++++
 1 files changed, 9 insertions(+), 0 deletions(-)

diff --git a/src/salut-tubes-manager.c b/src/salut-tubes-manager.c
index a9192c6..5e962ef 100644
--- a/src/salut-tubes-manager.c
+++ b/src/salut-tubes-manager.c
@@ -849,6 +849,7 @@ salut_tubes_manager_requestotron (SalutTubesManager *self,
   else if (!tp_strdiff (channel_type, SALUT_IFACE_CHANNEL_TYPE_DBUS_TUBE))
     {
       const gchar *service;
+      GError *err = NULL;
 
       if (tp_channel_manager_asv_has_unknown_properties (request_properties,
               tubes_channel_fixed_properties,
@@ -866,6 +867,14 @@ salut_tubes_manager_requestotron (SalutTubesManager *self,
               SALUT_IFACE_CHANNEL_TYPE_DBUS_TUBE ".ServiceName");
           goto error;
         }
+
+      if (!tp_dbus_check_valid_bus_name (service, TP_DBUS_NAME_TYPE_ANY, &err))
+        {
+          g_set_error (&error, TP_ERRORS, TP_ERROR_INVALID_ARGUMENT,
+              "Invalid ServiceName: %s", err->message);
+          g_error_free (err);
+          goto error;
+        }
     }
 
   handle = tp_asv_get_uint32 (request_properties,
-- 
1.5.6.5




More information about the telepathy-commits mailing list