diff --git a/src/License.cc b/src/License.cc index 96919ee1..7cf46e10 100644 --- a/src/License.cc +++ b/src/License.cc @@ -158,9 +158,9 @@ shared_ptr LicenseManager::create_license_pc( shared_ptr l(new License()); memset(l.get(), 0, sizeof(License)); l->serial_number = serial_number; - strlcpy(l->access_key, access_key, 8); + strncpy(l->access_key, access_key, 8); if (password) { - strlcpy(l->gc_password, password, 8); + strncpy(l->gc_password, password, 8); } return l; } @@ -170,9 +170,9 @@ shared_ptr LicenseManager::create_license_gc( shared_ptr l(new License()); memset(l.get(), 0, sizeof(License)); l->serial_number = serial_number; - strlcpy(l->access_key, access_key, 12); + strncpy(l->access_key, access_key, 12); if (password) { - strlcpy(l->gc_password, password, 8); + strncpy(l->gc_password, password, 8); } return l; } @@ -182,7 +182,7 @@ shared_ptr LicenseManager::create_license_bb( shared_ptr l(new License()); memset(l.get(), 0, sizeof(License)); l->serial_number = serial_number; - strlcpy(l->username, username, 19); - strlcpy(l->bb_password, password, 19); + strncpy(l->username, username, 19); + strncpy(l->bb_password, password, 19); return l; } diff --git a/src/SendCommands.cc b/src/SendCommands.cc index 183afb4e..4e664a06 100644 --- a/src/SendCommands.cc +++ b/src/SendCommands.cc @@ -2090,9 +2090,9 @@ static void send_quest_open_file_pc_gc(shared_ptr c, uint32_t file_size; } cmd; memset(&cmd, 0, sizeof(cmd)); - strlcpy(cmd.name, filename.c_str(), 0x20); + strncpy(cmd.name, filename.c_str(), 0x1F); cmd.flags = 2 + is_ep3_quest; - strlcpy(cmd.filename, filename.c_str(), 0x10); + strncpy(cmd.filename, filename.c_str(), 0x0F); cmd.file_size = file_size; send_command(c, is_download_quest ? 0xA6 : 0x44, 0x00, cmd); } @@ -2109,7 +2109,7 @@ static void send_quest_open_file_bb(shared_ptr c, } cmd; memset(&cmd, 0, sizeof(cmd)); cmd.flags = 2 + is_ep3_quest; - strlcpy(cmd.filename, filename.c_str(), 0x10); + strncpy(cmd.filename, filename.c_str(), 0x0F); cmd.file_size = file_size; send_command(c, is_download_quest ? 0xA6 : 0x44, 0x00, cmd); } @@ -2126,7 +2126,7 @@ static void send_quest_file_chunk(shared_ptr c, const char* filename, uint32_t data_size; } cmd; memset(cmd.filename, 0, 0x10); - strlcpy(cmd.filename, filename, 0x10); + strncpy(cmd.filename, filename, 0x0F); memcpy(cmd.data, data, size); if (size < 0x400) { memset(&cmd.data[size], 0, 0x400 - size);