diff options
Diffstat (limited to 'src/modulemanager.cpp')
-rw-r--r-- | src/modulemanager.cpp | 14 |
1 files changed, 5 insertions, 9 deletions
diff --git a/src/modulemanager.cpp b/src/modulemanager.cpp index 68609421b..35a2280a8 100644 --- a/src/modulemanager.cpp +++ b/src/modulemanager.cpp @@ -45,15 +45,11 @@ static int moduleCopyFile(const char *name, const char *output) int srcfp; #endif char input[4096]; - int len; - - strncpy(input, services_dir.c_str(), 4095); - len = strlen(input); - strncat(input, "/modules/", 4095 - len); /* Get full path with module extension */ - len = strlen(input); - strncat(input, name, 4095 - len); - len = strlen(output); - strncat(input, MODULE_EXT, 4095 - len); + + strlcpy(input, services_dir.c_str(), sizeof(input)); + strlcat(input, "/modules/", sizeof(input)); /* Get full path with module extension */ + strlcat(input, name, sizeof(input)); + strlcat(input, MODULE_EXT, sizeof(input)); #ifndef _WIN32 if ((srcfp = mkstemp(const_cast<char *>(output))) == -1) |