Merge remote-tracking branch 'upstream/master'

This commit is contained in:
oldmud0 2018-07-05 21:06:02 -05:00
commit a7c63a44c6
2 changed files with 11 additions and 5 deletions

View File

@ -4,6 +4,7 @@
#include "debug_functions.h" #include "debug_functions.h"
#include "lobby.h" #include "lobby.h"
#include <cstring>
NetworkManager::NetworkManager(AOApplication *parent) : QObject(parent) NetworkManager::NetworkManager(AOApplication *parent) : QObject(parent)
{ {
@ -80,8 +81,9 @@ void NetworkManager::ship_server_packet(QString p_packet)
void NetworkManager::handle_ms_packet() void NetworkManager::handle_ms_packet()
{ {
char buffer[16384] = {0}; char buffer[buffer_max_size];
ms_socket->read(buffer, ms_socket->bytesAvailable()); std::memset(buffer, 0, buffer_max_size);
ms_socket->read(buffer, buffer_max_size);
QString in_data = buffer; QString in_data = buffer;
@ -105,7 +107,7 @@ void NetworkManager::handle_ms_packet()
QStringList packet_list = in_data.split("%", QString::SplitBehavior(QString::SkipEmptyParts)); QStringList packet_list = in_data.split("%", QString::SplitBehavior(QString::SkipEmptyParts));
for (QString packet : packet_list) for (QString packet : packet_list)
{ {
AOPacket *f_packet = new AOPacket(packet); AOPacket *f_packet = new AOPacket(packet);
ao_app->ms_packet_received(f_packet); ao_app->ms_packet_received(f_packet);
@ -218,8 +220,9 @@ void NetworkManager::retry_ms_connect()
void NetworkManager::handle_server_packet() void NetworkManager::handle_server_packet()
{ {
char buffer[16384] = {0}; char buffer[buffer_max_size];
server_socket->read(buffer, server_socket->bytesAvailable()); std::memset(buffer, 0, buffer_max_size);
server_socket->read(buffer, buffer_max_size);
QString in_data = buffer; QString in_data = buffer;

View File

@ -48,6 +48,9 @@ public:
const int ms_reconnect_delay_ms = 7000; const int ms_reconnect_delay_ms = 7000;
// kind of arbitrary max buffer size
const size_t buffer_max_size = 16384;
bool ms_partial_packet = false; bool ms_partial_packet = false;
QString ms_temp_packet = ""; QString ms_temp_packet = "";