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));
|
||||
return true;
|
||||
}
|
||||
|
||||
private bool HandleGrantUserRights(IClientAPI sender, Packet Pack)
|
||||
{
|
||||
GrantUserRightsPacket GrantUserRights =
|
||||
|
@ -11108,6 +11109,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
|||
GrantUserRights.Rights[0].RelatedRights);
|
||||
return true;
|
||||
}
|
||||
|
||||
private bool HandlePlacesQuery(IClientAPI sender, Packet Pack)
|
||||
{
|
||||
PlacesQueryPacket placesQueryPacket =
|
||||
|
|
|
@ -141,7 +141,14 @@ namespace OpenSim.Region.CoreModules.Avatar.Friends
|
|||
{
|
||||
List<string> fList = new List<string>();
|
||||
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());
|
||||
foreach (PresenceInfo pi in presence)
|
||||
|
|
Loading…
Reference in New Issue