Index: camel/camel-exchange-folder.c
===================================================================
--- camel/camel-exchange-folder.c	(revision 1724)
+++ camel/camel-exchange-folder.c	(working copy)
@@ -71,8 +71,6 @@ static GPtrArray      *search_by_uids   
 					      const char *expression,
 					      GPtrArray *uids,
 					      CamelException *ex);
-static void            search_free           (CamelFolder *folder,
-					      GPtrArray *uids);
 static void            transfer_messages_to  (CamelFolder *source,
 					      GPtrArray *uids,
 					      CamelFolder *dest,
@@ -102,7 +100,8 @@ class_init (CamelFolderClass *camel_fold
 	camel_folder_class->get_message = get_message;
 	camel_folder_class->search_by_expression = search_by_expression;
 	camel_folder_class->search_by_uids = search_by_uids;
-	camel_folder_class->search_free = search_free;
+	/* use the default function for the search_free */
+	/* camel_folder_class->search_free = search_free; */
 	camel_folder_class->transfer_messages_to = transfer_messages_to;
 	camel_folder_class->refresh_info = refresh_info;
 	camel_folder_class->sync = exchange_sync;
@@ -494,16 +493,6 @@ search_by_uids (CamelFolder *folder, con
 }
 
 static void
-search_free (CamelFolder *folder, GPtrArray *uids)
-{
-	int i;
-
-	for (i = 0; i < uids->len; i++)
-		g_free (uids->pdata[i]);
-	g_ptr_array_free (uids, TRUE);
-}
-
-static void
 transfer_messages_the_hard_way (CamelFolder *source, GPtrArray *uids,
 				CamelFolder *dest,
 				GPtrArray **transferred_uids,
Index: ChangeLog
===================================================================
--- ChangeLog	(revision 1724)
+++ ChangeLog	(working copy)
@@ -1,3 +1,11 @@
+2008-08-05  Milan Crha  <mcrha@redhat.com>
+
+	** Fix for bug #546397
+
+	* camel/camel-exchange-folder.c: (class_init), (search_free):
+	Remove 'search_free' and use the default function for this, to not
+	free memory held by camel_pstring_....
+
 2008-08-05  Milan Crha  <mcrha@redhat.com>
 
 	** Fix for bug #546385
