From 0b46b082252935a57f960a2b461857b296b33d51 Mon Sep 17 00:00:00 2001 From: Nick Mathewson Date: Tue, 17 Feb 2015 08:46:11 -0500 Subject: Check thread count for negative; realloc->reallocarray CID 1268069 --- src/common/workqueue.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'src/common/workqueue.c') diff --git a/src/common/workqueue.c b/src/common/workqueue.c index 823fb51cc9..c1bd6d4e8b 100644 --- a/src/common/workqueue.c +++ b/src/common/workqueue.c @@ -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); -- cgit v1.2.3-54-g00ecf