aboutsummaryrefslogtreecommitdiff
path: root/src/lib
diff options
context:
space:
mode:
authorJoseph Hunkeler <jhunkeler@gmail.com>2026-04-16 11:51:13 -0400
committerJoseph Hunkeler <jhunkeler@gmail.com>2026-04-16 11:51:13 -0400
commitf40adf8259a9f034b6fff7abff047e9a746f7ec1 (patch)
tree7f59983da87db0c3f4f57f71c018bc55e412ce0b /src/lib
parent8dfc361023276ee88170a2555f40d68a8ef57535 (diff)
downloadstasis-f40adf8259a9f034b6fff7abff047e9a746f7ec1.tar.gz
gen_file_extension_str: add maxlen argument
Diffstat (limited to 'src/lib')
-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;
}