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:
@ -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
|
||||||
|
@ -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;
|
||||||
|
Reference in New Issue
Block a user