mirror of
https://github.com/Mezeporta/Erupe.git
synced 2025-12-13 15:34:38 +01:00
fix guild enumeration overflow
This commit is contained in:
@@ -1260,9 +1260,16 @@ func handleMsgMhfEnumerateGuild(s *Session, p mhfpacket.MHFPacket) {
|
|||||||
bf = byteframe.NewByteFrame()
|
bf = byteframe.NewByteFrame()
|
||||||
|
|
||||||
if pkt.Type > 8 {
|
if pkt.Type > 8 {
|
||||||
bf.WriteUint16(uint16(len(alliances)))
|
if len(guilds) > 10 {
|
||||||
|
bf.WriteUint16(10)
|
||||||
|
} else {
|
||||||
|
bf.WriteUint16(uint16(len(alliances)))
|
||||||
|
}
|
||||||
bf.WriteUint8(0x00) // Unk
|
bf.WriteUint8(0x00) // Unk
|
||||||
for _, alliance := range alliances {
|
for i, alliance := range alliances {
|
||||||
|
if i == 10 {
|
||||||
|
break
|
||||||
|
}
|
||||||
bf.WriteUint32(alliance.ID)
|
bf.WriteUint32(alliance.ID)
|
||||||
bf.WriteUint32(alliance.ParentGuild.LeaderCharID)
|
bf.WriteUint32(alliance.ParentGuild.LeaderCharID)
|
||||||
bf.WriteUint16(alliance.TotalMembers)
|
bf.WriteUint16(alliance.TotalMembers)
|
||||||
@@ -1281,9 +1288,16 @@ func handleMsgMhfEnumerateGuild(s *Session, p mhfpacket.MHFPacket) {
|
|||||||
bf.WriteBool(true) // TODO: Enable GuildAlliance applications
|
bf.WriteBool(true) // TODO: Enable GuildAlliance applications
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
bf.WriteUint16(uint16(len(guilds)))
|
if len(guilds) > 10 {
|
||||||
|
bf.WriteUint16(10)
|
||||||
|
} else {
|
||||||
|
bf.WriteUint16(uint16(len(guilds)))
|
||||||
|
}
|
||||||
bf.WriteUint8(0x01) // Unk
|
bf.WriteUint8(0x01) // Unk
|
||||||
for _, guild := range guilds {
|
for i, guild := range guilds {
|
||||||
|
if i == 10 {
|
||||||
|
break
|
||||||
|
}
|
||||||
bf.WriteUint32(guild.ID)
|
bf.WriteUint32(guild.ID)
|
||||||
bf.WriteUint32(guild.LeaderCharID)
|
bf.WriteUint32(guild.LeaderCharID)
|
||||||
bf.WriteUint16(guild.MemberCount)
|
bf.WriteUint16(guild.MemberCount)
|
||||||
|
|||||||
Reference in New Issue
Block a user