diff options
author | Francesco Borzì <borzifrancesco@gmail.com> | 2025-07-19 11:36:40 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-07-19 11:36:40 +0200 |
commit | c6a53849c70ef8e0c3c5b16c84ee1ef57b035eed (patch) | |
tree | 024e6ca896e8b46d16d2a587458ff4de8a1f3900 /src/tools | |
parent | cbd8596184f2bf32edc5a83643ec3ef7e13982df (diff) |
refactor(Core/Misc): string handling and use smart pointer for strand (#22351)
Diffstat (limited to 'src/tools')
-rw-r--r-- | src/tools/map_extractor/System.cpp | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/tools/map_extractor/System.cpp b/src/tools/map_extractor/System.cpp index 0b0f744f41..4396ed47f7 100644 --- a/src/tools/map_extractor/System.cpp +++ b/src/tools/map_extractor/System.cpp @@ -23,6 +23,7 @@ #include <filesystem> #include <set> #include <unordered_map> +#include <cstring> #ifdef _WIN32 #include "direct.h" @@ -184,7 +185,8 @@ void HandleArgs(int argc, char* arg[]) case 'i': if (c + 1 < argc) // all ok { - strcpy(input_path, arg[(c++) + 1]); + std::strncpy(input_path, arg[(c++) + 1], MAX_PATH_LENGTH - 1); + input_path[MAX_PATH_LENGTH - 1] = '\0'; } else { @@ -194,7 +196,8 @@ void HandleArgs(int argc, char* arg[]) case 'o': if (c + 1 < argc) // all ok { - strcpy(output_path, arg[(c++) + 1]); + std::strncpy(output_path, arg[(c++) + 1], MAX_PATH_LENGTH - 1); + output_path[MAX_PATH_LENGTH - 1] = '\0'; } else { @@ -282,7 +285,8 @@ uint32 ReadMapDBC() for (uint32 x = 0; x < map_count; ++x) { map_ids[x].id = dbc.getRecord(x).getUInt(0); - strcpy(map_ids[x].name, dbc.getRecord(x).getString(1)); + std::strncpy(map_ids[x].name, dbc.getRecord(x).getString(1), sizeof(map_ids[x].name) - 1); + map_ids[x].name[sizeof(map_ids[x].name) - 1] = '\0'; } printf("Done! (%u maps loaded)\n", (uint32)map_count); return map_count; |