1
0

Protocol 1.7: Fixed Coverity issues.

Fixes CID 66411, CID 103166 and CID 103167.
This commit is contained in:
Mattes D 2015-02-08 14:49:46 +01:00
parent 81d7329ad3
commit 1ce9164694

View File

@ -679,8 +679,8 @@ void cProtocol172::SendMapDecorators(int a_ID, const cMapDecoratorList & a_Decor
for (cMapDecoratorList::const_iterator it = a_Decorators.begin(); it != a_Decorators.end(); ++it) for (cMapDecoratorList::const_iterator it = a_Decorators.begin(); it != a_Decorators.end(); ++it)
{ {
ASSERT((it->GetPixelX() >= 0) && (it->GetPixelX() < 256)); ASSERT(it->GetPixelX() < 256);
ASSERT((it->GetPixelZ() >= 0) && (it->GetPixelZ() < 256)); ASSERT(it->GetPixelZ() < 256);
Pkt.WriteByte(static_cast<Byte>((it->GetType() << 4) | static_cast<Byte>(it->GetRot() & 0xf))); Pkt.WriteByte(static_cast<Byte>((it->GetType() << 4) | static_cast<Byte>(it->GetRot() & 0xf)));
Pkt.WriteByte(static_cast<Byte>(it->GetPixelX())); Pkt.WriteByte(static_cast<Byte>(it->GetPixelX()));
Pkt.WriteByte(static_cast<Byte>(it->GetPixelZ())); Pkt.WriteByte(static_cast<Byte>(it->GetPixelZ()));
@ -694,7 +694,7 @@ void cProtocol172::SendMapDecorators(int a_ID, const cMapDecoratorList & a_Decor
void cProtocol172::SendMapInfo(int a_ID, unsigned int a_Scale) void cProtocol172::SendMapInfo(int a_ID, unsigned int a_Scale)
{ {
ASSERT(m_State == 3); // In game mode? ASSERT(m_State == 3); // In game mode?
ASSERT((a_Scale >= 0) && (a_Scale < 256)); ASSERT(a_Scale < 256);
cPacketizer Pkt(*this, 0x34); cPacketizer Pkt(*this, 0x34);
Pkt.WriteVarInt(static_cast<UInt32>(a_ID)); Pkt.WriteVarInt(static_cast<UInt32>(a_ID));
@ -1757,7 +1757,10 @@ void cProtocol172::HandlePacketStatusRequest(cByteBuffer & a_ByteBuffer)
void cProtocol172::HandlePacketLoginEncryptionResponse(cByteBuffer & a_ByteBuffer) void cProtocol172::HandlePacketLoginEncryptionResponse(cByteBuffer & a_ByteBuffer)
{ {
short EncKeyLength, EncNonceLength; short EncKeyLength, EncNonceLength;
a_ByteBuffer.ReadBEShort(EncKeyLength); if (!a_ByteBuffer.ReadBEShort(EncKeyLength))
{
return;
}
if ((EncKeyLength < 0) || (EncKeyLength > MAX_ENC_LEN)) if ((EncKeyLength < 0) || (EncKeyLength > MAX_ENC_LEN))
{ {
LOGD("Invalid Encryption Key length: %d. Kicking client.", EncKeyLength); LOGD("Invalid Encryption Key length: %d. Kicking client.", EncKeyLength);