Tomas Bzatek 16e3a06
From 0b1f1c87a01027459300b5965895def84286a361 Mon Sep 17 00:00:00 2001
Tomas Bzatek 16e3a06
From: Tomas Bzatek <tbzatek@redhat.com>
Tomas Bzatek 16e3a06
Date: Thu, 29 Apr 2010 16:27:46 +0200
Tomas Bzatek 16e3a06
Subject: [PATCH] Fix stringv transfer over dbus
Tomas Bzatek 16e3a06
Tomas Bzatek 16e3a06
The wrong iterator passed in caused some items to be silently dropped
Tomas Bzatek 16e3a06
plus it led to string dup of wrong pointer.
Tomas Bzatek 16e3a06
Tomas Bzatek 16e3a06
See bug 614544 for reference.
Tomas Bzatek 16e3a06
---
Tomas Bzatek 16e3a06
 common/gvfsdaemonprotocol.c |    3 ++-
Tomas Bzatek 16e3a06
 1 files changed, 2 insertions(+), 1 deletions(-)
Tomas Bzatek 16e3a06
Tomas Bzatek 16e3a06
diff --git a/common/gvfsdaemonprotocol.c b/common/gvfsdaemonprotocol.c
Tomas Bzatek 16e3a06
index 7feefeb..9070cbc 100644
Tomas Bzatek 16e3a06
--- a/common/gvfsdaemonprotocol.c
Tomas Bzatek 16e3a06
+++ b/common/gvfsdaemonprotocol.c
Tomas Bzatek 16e3a06
@@ -128,6 +128,7 @@ _g_dbus_attribute_as_pointer (GFileAttributeType type,
Tomas Bzatek 16e3a06
   case G_FILE_ATTRIBUTE_TYPE_STRING:
Tomas Bzatek 16e3a06
   case G_FILE_ATTRIBUTE_TYPE_BYTE_STRING:
Tomas Bzatek 16e3a06
   case G_FILE_ATTRIBUTE_TYPE_OBJECT:
Tomas Bzatek 16e3a06
+  case G_FILE_ATTRIBUTE_TYPE_STRINGV:
Tomas Bzatek 16e3a06
     return value->ptr;
Tomas Bzatek 16e3a06
   default:
Tomas Bzatek 16e3a06
     return (gpointer) value;
Tomas Bzatek 16e3a06
@@ -372,7 +373,7 @@ _g_dbus_get_file_attribute (DBusMessageIter *iter,
Tomas Bzatek 16e3a06
 	{
Tomas Bzatek 16e3a06
 	  char **strv;
Tomas Bzatek 16e3a06
 	  int n_elements;
Tomas Bzatek 16e3a06
-	  if (!_g_dbus_message_iter_get_args (iter, NULL,
Tomas Bzatek 16e3a06
+	  if (!_g_dbus_message_iter_get_args (&variant_iter, NULL,
Tomas Bzatek 16e3a06
 					      DBUS_TYPE_ARRAY, DBUS_TYPE_STRING, &strv, &n_elements,
Tomas Bzatek 16e3a06
 					      0))
Tomas Bzatek 16e3a06
 	    goto error;
Tomas Bzatek 16e3a06
-- 
Tomas Bzatek 16e3a06
1.7.0.1
Tomas Bzatek 16e3a06