use memcpy instead of strncpy where appropriate

This commit is contained in:
Martin Michelsen
2022-03-28 18:41:32 -07:00
parent 1cfd12699b
commit 4001968c84
2 changed files with 6 additions and 6 deletions
+1 -1
View File
@@ -11,7 +11,7 @@ set(CMAKE_CXX_STANDARD_REQUIRED True)
if (MSVC) if (MSVC)
add_compile_options(/W4 /WX) add_compile_options(/W4 /WX)
else() else()
add_compile_options(-Wall -Wextra -Werror -Wno-address-of-packed-member -Wno-stringop-truncation) add_compile_options(-Wall -Wextra -Werror -Wno-address-of-packed-member)
endif() endif()
include_directories("/usr/local/include") include_directories("/usr/local/include")
+5 -5
View File
@@ -502,12 +502,12 @@ void ProxyServer::LinkedSession::on_server_input() {
memset(&cmd, 0, sizeof(cmd)); memset(&cmd, 0, sizeof(cmd));
snprintf(cmd.serial_number, sizeof(cmd.serial_number), "%08" PRIX32 "", snprintf(cmd.serial_number, sizeof(cmd.serial_number), "%08" PRIX32 "",
this->license->serial_number); this->license->serial_number);
strncpy(cmd.access_key, this->license->access_key, sizeof(cmd.access_key) - 1); memcpy(cmd.access_key, this->license->access_key, 0x10);
cmd.sub_version = this->sub_version; cmd.sub_version = this->sub_version;
snprintf(cmd.serial_number2, sizeof(cmd.serial_number2), "%08" PRIX32 "", snprintf(cmd.serial_number2, sizeof(cmd.serial_number2), "%08" PRIX32 "",
this->license->serial_number); this->license->serial_number);
strncpy(cmd.access_key2, this->license->access_key, sizeof(cmd.access_key2) - 1); memcpy(cmd.access_key2, this->license->access_key, 0x10);
strncpy(cmd.password, this->license->gc_password, sizeof(cmd.password) - 1); memcpy(cmd.password, this->license->gc_password, 0x0C);
send_command(this->server_bev.get(), this->version, send_command(this->server_bev.get(), this->version,
this->server_output_crypt.get(), 0xDB, 0, &cmd, sizeof(cmd), this->server_output_crypt.get(), 0xDB, 0, &cmd, sizeof(cmd),
name.c_str()); name.c_str());
@@ -534,10 +534,10 @@ void ProxyServer::LinkedSession::on_server_input() {
cmd.unused2[1] = 1; cmd.unused2[1] = 1;
snprintf(cmd.serial_number, sizeof(cmd.serial_number), "%08" PRIX32 "", snprintf(cmd.serial_number, sizeof(cmd.serial_number), "%08" PRIX32 "",
this->license->serial_number); this->license->serial_number);
strncpy(cmd.access_key, this->license->access_key, sizeof(cmd.access_key) - 1); memcpy(cmd.access_key, this->license->access_key, 0x10);
snprintf(cmd.serial_number2, sizeof(cmd.serial_number2), "%08" PRIX32 "", snprintf(cmd.serial_number2, sizeof(cmd.serial_number2), "%08" PRIX32 "",
this->license->serial_number); this->license->serial_number);
strncpy(cmd.access_key2, this->license->access_key, sizeof(cmd.access_key2) - 1); memcpy(cmd.access_key2, this->license->access_key, 0x10);
strncpy(cmd.name, this->character_name.c_str(), sizeof(cmd.name) - 1); strncpy(cmd.name, this->character_name.c_str(), sizeof(cmd.name) - 1);
memcpy(&cmd.cfg, this->client_config_data, 0x20); memcpy(&cmd.cfg, this->client_config_data, 0x20);