If a friends identifier which is too short is given to HGFriendsModule.GetOnlineFriends() then spit out a warning rather than failing on the String.Substring().
This is to progress http://opensimulator.org/mantis/view.php?id=5789iar_mods
parent
49ec85ae15
commit
ff36a1bc7b
|
@ -11088,6 +11088,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
Utils.BytesToString(avatarInterestUpdate.PropertiesData.LanguagesText));
|
Utils.BytesToString(avatarInterestUpdate.PropertiesData.LanguagesText));
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
private bool HandleGrantUserRights(IClientAPI sender, Packet Pack)
|
private bool HandleGrantUserRights(IClientAPI sender, Packet Pack)
|
||||||
{
|
{
|
||||||
GrantUserRightsPacket GrantUserRights =
|
GrantUserRightsPacket GrantUserRights =
|
||||||
|
@ -11108,6 +11109,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
GrantUserRights.Rights[0].RelatedRights);
|
GrantUserRights.Rights[0].RelatedRights);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
private bool HandlePlacesQuery(IClientAPI sender, Packet Pack)
|
private bool HandlePlacesQuery(IClientAPI sender, Packet Pack)
|
||||||
{
|
{
|
||||||
PlacesQueryPacket placesQueryPacket =
|
PlacesQueryPacket placesQueryPacket =
|
||||||
|
|
|
@ -141,7 +141,14 @@ namespace OpenSim.Region.CoreModules.Avatar.Friends
|
||||||
{
|
{
|
||||||
List<string> fList = new List<string>();
|
List<string> fList = new List<string>();
|
||||||
foreach (string s in friendList)
|
foreach (string s in friendList)
|
||||||
fList.Add(s.Substring(0, 36));
|
{
|
||||||
|
if (s.Length < 36)
|
||||||
|
m_log.WarnFormat(
|
||||||
|
"[HGFRIENDS MODULE]: Ignoring friend {0} ({1} chars) for {2} since identifier too short",
|
||||||
|
s, s.Length, userID);
|
||||||
|
else
|
||||||
|
fList.Add(s.Substring(0, 36));
|
||||||
|
}
|
||||||
|
|
||||||
PresenceInfo[] presence = PresenceService.GetAgents(fList.ToArray());
|
PresenceInfo[] presence = PresenceService.GetAgents(fList.ToArray());
|
||||||
foreach (PresenceInfo pi in presence)
|
foreach (PresenceInfo pi in presence)
|
||||||
|
|
Loading…
Reference in New Issue