Commit 0b46b082 authored by Nick Mathewson's avatar Nick Mathewson 🦀
Browse files

Check thread count for negative; realloc->reallocarray

CID 1268069
parent 7620c613
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
@@ -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);