Skip to content

Commit 433ca60

Browse files
committed
fix(config): use fresh buffer for env_config_fallback to prevent buffer reuse
1 parent 9043075 commit 433ca60

1 file changed

Lines changed: 4 additions & 2 deletions

File tree

zend_abstract_interface/config/config.c

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -99,9 +99,11 @@ static void zai_config_find_and_set_value(zai_config_memoized_entry *memoized, z
9999
break;
100100
}
101101
}
102-
if (!value.len && memoized->env_config_fallback && memoized->env_config_fallback(&buf, true)) {
103-
zai_config_process_env(memoized, buf, &value);
102+
ZAI_ENV_BUFFER_INIT(fallback_buf, ZAI_ENV_MAX_BUFSIZ);
103+
if (!value.len && memoized->env_config_fallback && memoized->env_config_fallback(&fallback_buf, true)) {
104+
zai_config_process_env(memoized, fallback_buf, &value);
104105
name_index = ZAI_CONFIG_ORIGIN_MODIFIED;
106+
buf = fallback_buf;
105107
}
106108

107109
int16_t ini_name_index = zai_config_initialize_ini_value(memoized->ini_entries, memoized->names_count, &value,

0 commit comments

Comments
 (0)