fixed a crash associated with /ip on serverD

This commit is contained in:
OmniTroid 2017-05-15 23:34:47 +02:00
parent 8b9d5e3ab7
commit 24f4c96f35
2 changed files with 8 additions and 5 deletions

View File

@ -15,7 +15,7 @@ QString get_hdid()
if (bIsRetrieved) if (bIsRetrieved)
return QString::number(dwVolSerial, 16); return QString::number(dwVolSerial, 16);
else else
//literally a random string //a totally random string
//what could possibly go wrong //what could possibly go wrong
return "gxsps32sa9fnwic92mfbs0"; return "gxsps32sa9fnwic92mfbs0";
@ -30,7 +30,6 @@ QString get_hdid()
{ {
QFile fstab_file("/etc/fstab"); QFile fstab_file("/etc/fstab");
if (!fstab_file.open(QIODevice::ReadOnly)) if (!fstab_file.open(QIODevice::ReadOnly))
//literally a random string.... what else are we supposed to do?
return "gxcps32sa9fnwic92mfbs0"; return "gxcps32sa9fnwic92mfbs0";
QTextStream in(&fstab_file); QTextStream in(&fstab_file);

View File

@ -206,14 +206,18 @@ void AOApplication::server_packet_received(AOPacket *p_packet)
} }
else if (header == "SI") else if (header == "SI")
{ {
if (f_contents.size() < 3) if (f_contents.size() != 3)
goto end; goto end;
char_list_size = f_contents.at(0).toInt(); char_list_size = f_contents.at(0).toInt();
loaded_chars = 0;
evidence_list_size = f_contents.at(1).toInt(); evidence_list_size = f_contents.at(1).toInt();
loaded_evidence = 0;
music_list_size = f_contents.at(2).toInt(); music_list_size = f_contents.at(2).toInt();
if (char_list_size < 1 || evidence_list_size < 0 || music_list_size < 0)
goto end;
loaded_chars = 0;
loaded_evidence = 0;
loaded_music = 0; loaded_music = 0;
destruct_courtroom(); destruct_courtroom();