diff --git a/world/zoneserver.cpp b/world/zoneserver.cpp index b94bda20a..d61d6e65b 100644 --- a/world/zoneserver.cpp +++ b/world/zoneserver.cpp @@ -434,6 +434,8 @@ bool ZoneServer::Process() { break; } case ServerOP_ChannelMessage: { + if (pack->size < sizeof(ServerChannelMessage_Struct)) + break; ServerChannelMessage_Struct* scm = (ServerChannelMessage_Struct*) pack->pBuffer; if(scm->chan_num == 20) {