summaryrefslogtreecommitdiff
path: root/src/modulemanager.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/modulemanager.cpp')
-rw-r--r--src/modulemanager.cpp14
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)