mirror of
https://github.com/jemalloc/jemalloc.git
synced 2026-04-14 14:41:42 +03:00
Check for 0 input when setting max_background_thread through mallctl.
Reported by @nc7s.
This commit is contained in:
parent
52fa9577ba
commit
7ad13a1b2e
2 changed files with 7 additions and 1 deletions
|
|
@ -2181,7 +2181,8 @@ max_background_threads_ctl(tsd_t *tsd, const size_t *mib,
|
|||
ret = 0;
|
||||
goto label_return;
|
||||
}
|
||||
if (newval > opt_max_background_threads) {
|
||||
if (newval > opt_max_background_threads ||
|
||||
newval == 0) {
|
||||
ret = EINVAL;
|
||||
goto label_return;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -54,6 +54,9 @@ TEST_BEGIN(test_max_background_threads) {
|
|||
"opt.max_background_threads should match");
|
||||
expect_d_eq(mallctl("max_background_threads", NULL, NULL, &max_n_thds,
|
||||
sz_m), 0, "Failed to set max background threads");
|
||||
size_t size_zero = 0;
|
||||
expect_d_ne(mallctl("max_background_threads", NULL, NULL, &size_zero,
|
||||
sz_m), 0, "Should not allow zero background threads");
|
||||
|
||||
unsigned id;
|
||||
size_t sz_u = sizeof(unsigned);
|
||||
|
|
@ -80,6 +83,8 @@ TEST_BEGIN(test_max_background_threads) {
|
|||
new_max_thds = 1;
|
||||
expect_d_eq(mallctl("max_background_threads", NULL, NULL, &new_max_thds,
|
||||
sz_m), 0, "Failed to set max background threads");
|
||||
expect_d_ne(mallctl("max_background_threads", NULL, NULL, &size_zero,
|
||||
sz_m), 0, "Should not allow zero background threads");
|
||||
expect_zu_eq(n_background_threads, new_max_thds,
|
||||
"Number of background threads should be 1.\n");
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue