From: Nick Mathewson Date: Tue, 17 Feb 2015 13:46:11 +0000 (-0500) Subject: Check thread count for negative; realloc->reallocarray X-Git-Tag: tor-0.2.6.3-alpha~43 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0b46b082252935a57f960a2b461857b296b33d51;p=thirdparty%2Ftor.git Check thread count for negative; realloc->reallocarray CID 1268069 --- 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);