Commit 290f45a0 authored by nanahira's avatar nanahira

fix memory problems on mdpro3 api

parent 34622217
Pipeline #34328 passed with stages
in 4 minutes and 20 seconds
...@@ -4,7 +4,9 @@ namespace ygo { ...@@ -4,7 +4,9 @@ namespace ygo {
extern "C" DECL_DLLEXPORT int start_server(const char* args) { extern "C" DECL_DLLEXPORT int start_server(const char* args) {
int argc = 1; int argc = 1;
char** argv = new char* [13]; char** argv = new char* [13];
argv[0] = "ygoserver"; const char* server_name = "ygoserver";
argv[0] = new char[strlen(server_name) + 1];
strcpy(argv[0], server_name);
size_t argLength = strlen(args); size_t argLength = strlen(args);
for (size_t i = 1, j = 0; j < argLength; ) { for (size_t i = 1, j = 0; j < argLength; ) {
while (args[j] == ' ' && j < argLength) { ++j; } while (args[j] == ' ' && j < argLength) { ++j; }
...@@ -24,6 +26,12 @@ namespace ygo { ...@@ -24,6 +26,12 @@ namespace ygo {
} }
int result = main(argc, argv); int result = main(argc, argv);
for (int i = 1; i < argc; ++i) {
if (argv[i]) {
delete[] argv[i];
argv[i] = nullptr;
}
}
delete[] argv; delete[] argv;
return result; return result;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment