Module: kamailio Branch: master Commit: f385148ff68e2125a2111d9c506022519f17d1c9 URL: https://github.com/kamailio/kamailio/commit/f385148ff68e2125a2111d9c506022519f17d1c9
Author: Daniel-Constantin Mierla <mico...@gmail.com> Committer: Daniel-Constantin Mierla <mico...@gmail.com> Date: 2024-12-12T10:22:27+01:00 core: use one strlen for mod_path --- Modified: src/core/sr_module.c --- Diff: https://github.com/kamailio/kamailio/commit/f385148ff68e2125a2111d9c506022519f17d1c9.diff Patch: https://github.com/kamailio/kamailio/commit/f385148ff68e2125a2111d9c506022519f17d1c9.patch --- diff --git a/src/core/sr_module.c b/src/core/sr_module.c index 6d50f294389..f19a2d3812b 100644 --- a/src/core/sr_module.c +++ b/src/core/sr_module.c @@ -410,12 +410,14 @@ int ksr_locate_module(char *mod_path, char **new_path) int mdir_len; int path_type; int len; + int mod_path_len; *new_path = NULL; + mod_path_len = strlen(mod_path); path = mod_path; path_type = 0; modfile.s = path; - modfile.len = strlen(mod_path); + modfile.len = mod_path_len; modname.s = modfile.s; if(modfile.len > 3 && strcmp(modfile.s + modfile.len - 3, ".so") == 0) { path_type = 1; @@ -502,7 +504,7 @@ int ksr_locate_module(char *mod_path, char **new_path) if(path == 0) { /* try path <MODS_DIR>/mod_path - K compat */ path = (char *)pkg_malloc( - mdir_len + 1 /* "/" */ + strlen(mod_path) + 1); + mdir_len + 1 /* "/" */ + mod_path_len + 1); if(path == 0) { PKG_MEM_ERROR; goto error; @@ -513,8 +515,8 @@ int ksr_locate_module(char *mod_path, char **new_path) path[len] = '/'; len++; } - path[len] = 0; - strcat(path, mod_path); + memcpy(path + len, mod_path, mod_path_len); + path[len + mod_path_len] = 0; if(stat(path, &stat_buf) == -1) { LM_DBG("module file not found <%s>\n", path); _______________________________________________ Kamailio - Development Mailing List -- sr-dev@lists.kamailio.org To unsubscribe send an email to sr-dev-le...@lists.kamailio.org Important: keep the mailing list in the recipients, do not reply only to the sender!