Relax module list requirements

Some Windows versions have problems with Steamclient.dll and give it a size of -1
This commit is contained in:
Asher Baker 2019-01-08 21:52:55 +00:00
parent 7aeabf23b5
commit ad9db42aa4
2 changed files with 53 additions and 61 deletions

View File

@ -743,11 +743,6 @@ class UploadThread: public IThread
return kPRLocalError;
}
// Minidumps missing a module list are basically useless
if (!processState.modules()) {
return kPRLocalError;
}
std::string os_short = "";
std::string cpu_arch = "";
if (processState.system_info()) {
@ -778,7 +773,7 @@ class UploadThread: public IThread
std::map<const google_breakpad::CodeModule *, unsigned int> moduleMap;
unsigned int moduleCount = processState.modules()->module_count();
unsigned int moduleCount = processState.modules() ? processState.modules()->module_count() : 0;
for (unsigned int moduleIndex = 0; moduleIndex < moduleCount; ++moduleIndex) {
auto module = processState.modules()->GetModuleAtIndex(moduleIndex);
moduleMap[module] = moduleIndex;
@ -886,6 +881,7 @@ class UploadThread: public IThread
if (log) fprintf(log, "Got a presubmit token from server: %s\n", tokenBuffer);
}
if (moduleCount > 0) {
auto mainModule = processState.modules()->GetMainModule();
auto executableBaseDir = PathnameStripper_Directory(mainModule->code_file());
InitModuleClassificationMap(executableBaseDir);
@ -948,6 +944,7 @@ class UploadThread: public IThread
}
#endif
}
}
delete[] response;
return presubmitResponse;

View File

@ -175,11 +175,6 @@ int main(int argc, char *argv[])
continue;
}
// Minidumps missing a module list are basically useless
if (!processState.modules()) {
continue;
}
std::string os_short = "";
std::string cpu_arch = "";
if (processState.system_info()) {
@ -210,7 +205,7 @@ int main(int argc, char *argv[])
std::map<const CodeModule *, unsigned int> moduleMap;
unsigned int moduleCount = processState.modules()->module_count();
unsigned int moduleCount = processState.modules() ? processState.modules()->module_count() : 0;
for (unsigned int moduleIndex = 0; moduleIndex < moduleCount; ++moduleIndex) {
auto module = processState.modules()->GetModuleAtIndex(moduleIndex);
moduleMap[module] = moduleIndex;