2
3
mirror of https://foundry.openuru.org/gitblit/r/CWE-ou-minkata.git synced 2025-07-14 02:27:40 -04:00

fix UruLauncher crash when the Launcher manifest is empty

This commit is contained in:
diafero
2011-08-01 23:19:00 +02:00
parent e2603ef9da
commit 4563df7f20
2 changed files with 10 additions and 3 deletions

View File

@ -153,6 +153,13 @@ static void ManifestCallback (
return; return;
} }
#ifndef PLASMA_EXTERNAL_RELEASE
if (entryCount == 0) { // dataserver does not contain a patcher
s_downloadComplete = true;
return;
}
#endif
char ansi[MAX_PATH]; char ansi[MAX_PATH];
// MD5 check current patcher against value in manifest // MD5 check current patcher against value in manifest

View File

@ -944,7 +944,7 @@ bool ManifestRequestTrans::Recv (
dword numFiles = reply.numFiles; dword numFiles = reply.numFiles;
dword wcharCount = reply.wcharCount; dword wcharCount = reply.wcharCount;
const wchar* curChar = reply.manifestData; const wchar* curChar = reply.manifestData; // the pointer is not yet dereferenced here!
// tell the server we got the data // tell the server we got the data
Cli2File_ManifestEntryAck manifestAck; Cli2File_ManifestEntryAck manifestAck;
@ -955,9 +955,9 @@ bool ManifestRequestTrans::Recv (
m_conn->Send(&manifestAck, manifestAck.messageBytes); m_conn->Send(&manifestAck, manifestAck.messageBytes);
// if wcharCount is 2, the data only contains the terminator "\0\0" and we // if wcharCount is 2 or less, the data only contains the terminator "\0\0" and we
// don't need to convert anything (and we are done) // don't need to convert anything (and we are done)
if ((IS_NET_ERROR(reply.result)) || (wcharCount == 2)) { if ((IS_NET_ERROR(reply.result)) || (wcharCount <= 2)) {
// we have a problem... or we have nothing to so, so we're done // we have a problem... or we have nothing to so, so we're done
m_result = reply.result; m_result = reply.result;
m_state = kTransStateComplete; m_state = kTransStateComplete;