libsemanage/libsemanage-Fix-use-after-free-in-parse_module_store.patch
2021-06-17 21:54:09 +08:00

35 lines
1.0 KiB
Diff

From 58acebb85887cb25d729ac9cab51e63a8f5b7918 Mon Sep 17 00:00:00 2001
From: luhuaxin <1539327763@qq.com>
Date: Wed, 9 Jun 2021 21:32:32 +0800
Subject: [PATCH] libsemanage: Fix use after free in parse_module_store
The passed arg will be freed after this function call.
Signed-off-by: luhuaxin <1539327763@qq.com>
---
src/conf-parse.y | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/conf-parse.y b/src/conf-parse.y
index 9bf9364..eac9134 100644
--- a/src/conf-parse.y
+++ b/src/conf-parse.y
@@ -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;
--
1.8.3.1