commit 0b46b082252935a57f960a2b461857b296b33d51 Author: Nick Mathewson nickm@torproject.org Date: Tue Feb 17 08:46:11 2015 -0500
Check thread count for negative; realloc->reallocarray
CID 1268069 --- src/common/workqueue.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/src/common/workqueue.c b/src/common/workqueue.c index 823fb51..c1bd6d4 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);
tor-commits@lists.torproject.org