Check thread count for negative; realloc->reallocarray

CID 1268069
This commit is contained in:
Nick Mathewson 2015-02-17 08:46:11 -05:00
parent 7620c613e8
commit 0b46b08225
1 changed files with 5 additions and 1 deletions

View File

@ -363,10 +363,14 @@ threadpool_queue_update(threadpool_t *pool,
static int
threadpool_start_threads(threadpool_t *pool, int n)
{
if (n < 0)
return -1;
tor_mutex_acquire(&pool->lock);
if (pool->n_threads < n)
pool->threads = tor_realloc(pool->threads, sizeof(workerthread_t*)*n);
pool->threads = tor_reallocarray(pool->threads,
sizeof(workerthread_t*), n);
while (pool->n_threads < n) {
void *state = pool->new_thread_state_fn(pool->new_thread_state_arg);