mirror of
https://github.com/microsoft/mimalloc.git
synced 2025-05-05 06:59:32 +03:00
Avoid a possible infinite recursion in options parsing.
See microsoft/mimalloc#502, second issue, for a scenario where this occurs.
This commit is contained in:
parent
0560fc27c0
commit
5d92b5f6d3
1 changed files with 4 additions and 1 deletions
|
@ -532,8 +532,11 @@ static void mi_option_init(mi_option_desc_t* desc) {
|
|||
desc->init = INITIALIZED;
|
||||
}
|
||||
else {
|
||||
_mi_warning_message("environment option mimalloc_%s has an invalid value: %s\n", desc->name, buf);
|
||||
/* _mi_warning_message() will itself call mi_option_get() for some options,
|
||||
* so to avoid a possible infinite recursion it's important to mark the option as
|
||||
* "initialized" first */
|
||||
desc->init = DEFAULTED;
|
||||
_mi_warning_message("environment option mimalloc_%s has an invalid value: %s\n", desc->name, buf);
|
||||
}
|
||||
}
|
||||
mi_assert_internal(desc->init != UNINIT);
|
||||
|
|
Loading…
Add table
Reference in a new issue