Ensure that argument array size does not overflow as `int`, before
cast in thread_do_start after new thread created.
This commit is contained in:
Nobuyoshi Nakada 2019-09-27 00:37:54 +09:00
Родитель 3b9cdc59ce
Коммит 876c5fe1b2
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4BC7D6DF58D8DF60
1 изменённых файлов: 1 добавлений и 0 удалений

Просмотреть файл

@ -842,6 +842,7 @@ thread_create_core(VALUE thval, VALUE args, VALUE (*fn)(void *))
th->invoke_arg.func.arg = (void *)args;
}
else {
(void)RARRAY_LENINT(args);
th->invoke_type = thread_invoke_type_proc;
th->invoke_arg.proc.proc = rb_block_proc();
th->invoke_arg.proc.args = args;