aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/CoreModules/ServiceConnectorsOut/Inventory/LocalInventoryServiceConnector.cs
diff options
context:
space:
mode:
authorJustin Clark-Casey (justincc)2011-09-09 01:00:41 +0100
committerJustin Clark-Casey (justincc)2011-09-09 19:55:30 +0100
commit655935db49ad3a363426eef52f4aedba990cc9af (patch)
tree155916b0273239dab5892fda134349820247345b /OpenSim/Region/CoreModules/ServiceConnectorsOut/Inventory/LocalInventoryServiceConnector.cs
parentFix unit tests from RegionSettings commit (diff)
downloadopensim-SC_OLD-655935db49ad3a363426eef52f4aedba990cc9af.zip
opensim-SC_OLD-655935db49ad3a363426eef52f4aedba990cc9af.tar.gz
opensim-SC_OLD-655935db49ad3a363426eef52f4aedba990cc9af.tar.bz2
opensim-SC_OLD-655935db49ad3a363426eef52f4aedba990cc9af.tar.xz
Use a copy of the inventory items list to register users in the thread started by GetFolderContent(), to protect ourselves against callers modifying lists
Hopefully this addresses http://opensimulator.org/mantis/view.php?id=5681
Diffstat (limited to '')
-rw-r--r--OpenSim/Region/CoreModules/ServiceConnectorsOut/Inventory/LocalInventoryServiceConnector.cs5
1 files changed, 4 insertions, 1 deletions
diff --git a/OpenSim/Region/CoreModules/ServiceConnectorsOut/Inventory/LocalInventoryServiceConnector.cs b/OpenSim/Region/CoreModules/ServiceConnectorsOut/Inventory/LocalInventoryServiceConnector.cs
index d3ef08d..1c83f8e 100644
--- a/OpenSim/Region/CoreModules/ServiceConnectorsOut/Inventory/LocalInventoryServiceConnector.cs
+++ b/OpenSim/Region/CoreModules/ServiceConnectorsOut/Inventory/LocalInventoryServiceConnector.cs
@@ -188,8 +188,11 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Inventory
188 Util.FireAndForget(delegate 188 Util.FireAndForget(delegate
189 { 189 {
190 if (UserManager != null) 190 if (UserManager != null)
191 foreach (InventoryItemBase item in invCol.Items) 191 {
192 // Protect ourselves against the caller subsequently modifying the items list
193 foreach (InventoryItemBase item in new List<InventoryItemBase>(invCol.Items))
192 UserManager.AddUser(item.CreatorIdAsUuid, item.CreatorData); 194 UserManager.AddUser(item.CreatorIdAsUuid, item.CreatorData);
195 }
193 }); 196 });
194 197
195 return invCol; 198 return invCol;