summaryrefslogtreecommitdiff
path: root/src/config.c
diff options
context:
space:
mode:
authorMoti Cohen <moti.cohen@redis.com>2022-04-19 06:04:10 +0300
committerGitHub <noreply@github.com>2022-04-18 20:04:10 -0700
commit85899e359ee7c4e615477b82b8b1d5c6f258d792 (patch)
tree4364687d2c159e29b414d5b9cceac514e5e42d62 /src/config.c
parent7d1ad6ca9663e3f771d1f27eec3ab67d0a1b6faf (diff)
downloadredis-85899e359ee7c4e615477b82b8b1d5c6f258d792.tar.gz
Fix sdsConfigRewrite() to prevent freeing invalid memory(#10598)
Diffstat (limited to 'src/config.c')
-rw-r--r--src/config.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/config.c b/src/config.c
index cb3ff2e45..5ebf381c8 100644
--- a/src/config.c
+++ b/src/config.c
@@ -1848,7 +1848,7 @@ static sds sdsConfigGet(standardConfig *config) {
static void sdsConfigRewrite(standardConfig *config, const char *name, struct rewriteConfigState *state) {
sds val = config->flags & MODULE_CONFIG ? getModuleStringConfig(config->privdata) : *config->data.sds.config;
rewriteConfigSdsOption(state, name, val, config->data.sds.default_value);
- if (val) sdsfree(val);
+ if ((val) && (config->flags & MODULE_CONFIG)) sdsfree(val);
}