Make sure that keys exist in arrays before trying to access them.

0.6.8-post-fixes
Michael Cortez 2009-10-05 12:09:45 -07:00 committed by Melanie
parent 90d1ef9e4a
commit f4726f4bcc
1 changed files with 9 additions and 3 deletions

View File

@ -147,6 +147,8 @@ namespace OpenSim.Region.OptionalModules.Avatar.XmlRpcGroups
TimeSpan cacheTimeout = new TimeSpan(0,0, m_clientRequestIDFlushTimeOut / 1000);
UUID[] CurrentKeys = new UUID[m_clientRequestIDInfo.Count];
foreach (UUID key in CurrentKeys)
{
if (m_clientRequestIDInfo.ContainsKey(key))
{
if (DateTime.Now - m_clientRequestIDInfo[key].LastUsedTMStamp > cacheTimeout)
{
@ -155,6 +157,7 @@ namespace OpenSim.Region.OptionalModules.Avatar.XmlRpcGroups
}
}
}
}
public void AddRegion(Scene scene)
{
@ -475,10 +478,13 @@ namespace OpenSim.Region.OptionalModules.Avatar.XmlRpcGroups
OSDMap binBucketOSD = (OSDMap)OSDParser.DeserializeLLSDXml(binBucket);
foreach (string key in binBucketOSD.Keys)
{
if (binBucketOSD.ContainsKey(key))
{
m_log.WarnFormat("{0}: {1}", key, binBucketOSD[key].ToString());
}
}
}
// treat as if no attachment
bucket = new byte[19];