diff options
Diffstat (limited to 'Minecraft.World/TexturePacket.cpp')
| -rw-r--r-- | Minecraft.World/TexturePacket.cpp | 25 |
1 files changed, 8 insertions, 17 deletions
diff --git a/Minecraft.World/TexturePacket.cpp b/Minecraft.World/TexturePacket.cpp index 94c195a0..eadcb3ed 100644 --- a/Minecraft.World/TexturePacket.cpp +++ b/Minecraft.World/TexturePacket.cpp @@ -37,26 +37,17 @@ void TexturePacket::handle(PacketListener *listener) void TexturePacket::read(DataInputStream *dis) //throws IOException { textureName = dis->readUTF(); - short rawBytes = dis->readShort(); - if (rawBytes <= 0) - { - dwBytes = 0; - return; - } - dwBytes = (DWORD)(unsigned short)rawBytes; - if (dwBytes > 65536) - { - dwBytes = 0; - return; - } - - this->pbData= new BYTE [dwBytes]; + dwBytes = static_cast<DWORD>(dis->readShort()); - for(DWORD i=0;i<dwBytes;i++) + if(dwBytes>0) { - this->pbData[i] = dis->readByte(); + this->pbData= new BYTE [dwBytes]; + + for(DWORD i=0;i<dwBytes;i++) + { + this->pbData[i] = dis->readByte(); + } } - } void TexturePacket::write(DataOutputStream *dos) //throws IOException |
