Преглед на файлове

Impose an upper limit on threads per threadpool.

Found by Coverity; Fixes CID 1268069
Nick Mathewson преди 9 години
родител
ревизия
a194385d56
променени са 1 файла, в които са добавени 5 реда и са изтрити 0 реда
  1. 5 0
      src/common/workqueue.c

+ 5 - 0
src/common/workqueue.c

@@ -359,12 +359,17 @@ threadpool_queue_update(threadpool_t *pool,
   return 0;
 }
 
+/** Don't have more than this many threads per pool. */
+#define MAX_THREADS 1024
+
 /** Launch threads until we have <b>n</b>. */
 static int
 threadpool_start_threads(threadpool_t *pool, int n)
 {
   if (n < 0)
     return -1;
+  if (n > MAX_THREADS)
+    n = MAX_THREADS;
 
   tor_mutex_acquire(&pool->lock);