Skip to content

Commit

Permalink
ctl: use snprintf() to set boundaries
Browse files Browse the repository at this point in the history
  • Loading branch information
linuxmaniac committed Aug 9, 2023
1 parent d893f3a commit 11b24eb
Showing 1 changed file with 6 additions and 8 deletions.
14 changes: 6 additions & 8 deletions src/modules/ctl/ctl.c
Original file line number Diff line number Diff line change
Expand Up @@ -212,6 +212,7 @@ static int mod_init(void)
{
struct id_list *l;
char ctl_socket_path[CTL_SOCKET_PATH_SIZE];
int len;

binrpc_callbacks_init();

Expand All @@ -226,17 +227,14 @@ static int mod_init(void)
if(strcmp(runtime_dir, RUN_DIR) == 0) {
add_binrpc_socket(PARAM_STRING, DEFAULT_CTL_SOCKET);
} else {
if(sizeof(DEFAULT_CTL_SOCKET_PROTO)
+ sizeof(DEFAULT_CTL_SOCKET_NAME)
+ strlen(runtime_dir) + 4
> CTL_SOCKET_PATH_SIZE) {
len = sizeof(DEFAULT_CTL_SOCKET_PROTO)
+ sizeof(DEFAULT_CTL_SOCKET_NAME) + strlen(runtime_dir) + 4;
if(len > CTL_SOCKET_PATH_SIZE) {
LM_ERR("ctl socket path is too big\n");
return -1;
}
strcpy(ctl_socket_path, DEFAULT_CTL_SOCKET_PROTO);
strcat(ctl_socket_path, runtime_dir);
strcat(ctl_socket_path, "/");
strcat(ctl_socket_path, DEFAULT_CTL_SOCKET_NAME);
snprintf(ctl_socket_path, len, "%s%s/%s", DEFAULT_CTL_SOCKET_PROTO,
runtime_dir, DEFAULT_CTL_SOCKET_NAME);
add_binrpc_socket(PARAM_STRING, ctl_socket_path);
}
}
Expand Down

0 comments on commit 11b24eb

Please sign in to comment.