aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/lib/core/include/utils.h2
-rw-r--r--src/lib/core/utils.c4
2 files changed, 3 insertions, 3 deletions
diff --git a/src/lib/core/include/utils.h b/src/lib/core/include/utils.h
index 335a7e4..8b657e4 100644
--- a/src/lib/core/include/utils.h
+++ b/src/lib/core/include/utils.h
@@ -420,7 +420,7 @@ int env_manipulate_pathstr(const char *key, char *path, int mode);
/**
* Append or replace a file extension
*/
-int gen_file_extension_str(char *filename, const char *extension);
+int gen_file_extension_str(char *filename, size_t maxlen, const char *extension);
/**
* Remove [extra]s from a spec string
diff --git a/src/lib/core/utils.c b/src/lib/core/utils.c
index 2722585..76b314e 100644
--- a/src/lib/core/utils.c
+++ b/src/lib/core/utils.c
@@ -886,10 +886,10 @@ int env_manipulate_pathstr(const char *key, char *path, int mode) {
return 0;
}
-int gen_file_extension_str(char *filename, const char *extension) {
+int gen_file_extension_str(char *filename, const size_t maxlen, const char *extension) {
char *ext_orig = strrchr(filename, '.');
if (!ext_orig) {
- strcat(filename, extension);
+ strncat(filename, extension, maxlen - strlen(filename) - 1);
return 0;
}