mirror of
https://github.com/SELinuxProject/selinux
synced 2025-02-17 01:56:53 +00:00
libsemanage: fix use-after-free in parse_module_store()
The passing parameter "arg" of parse_module_store will be freed after calling. A copy of parameter should be used instead of itself. Signed-off-by: HuaxinLu <luhuaxin1@foxmail.com> Acked-by: James Carter <jwcart2@gmail.com>
This commit is contained in:
parent
70b31e75fe
commit
6bff61c598
@ -516,12 +516,12 @@ static int parse_module_store(char *arg)
|
||||
char *s;
|
||||
current_conf->store_type = SEMANAGE_CON_POLSERV_REMOTE;
|
||||
if ((s = strchr(arg, ':')) == NULL) {
|
||||
current_conf->store_path = arg;
|
||||
current_conf->store_path = strdup(arg);
|
||||
current_conf->server_port = 4242;
|
||||
} else {
|
||||
char *endptr;
|
||||
*s = '\0';
|
||||
current_conf->store_path = arg;
|
||||
current_conf->store_path = strdup(arg);
|
||||
current_conf->server_port = strtol(s + 1, &endptr, 10);
|
||||
if (*(s + 1) == '\0' || *endptr != '\0') {
|
||||
return -2;
|
||||
|
Loading…
Reference in New Issue
Block a user