From 8bbefddb4a14882eba2a1c30b2599dcecfe6c979 Mon Sep 17 00:00:00 2001 From: Yang Liming Date: Tue, 15 Oct 2024 11:10:38 +0800 Subject: [PATCH] add check for bthread_setconcurrency_by_tag --- src/bthread/bthread.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/bthread/bthread.cpp b/src/bthread/bthread.cpp index 14954e4ba6..eefeefb4ab 100644 --- a/src/bthread/bthread.cpp +++ b/src/bthread/bthread.cpp @@ -392,6 +392,10 @@ int bthread_setconcurrency_by_tag(int num, bthread_tag_t tag) { if (tag < BTHREAD_TAG_DEFAULT || tag >= FLAGS_task_group_ntags) { return EPERM; } + if (num < BTHREAD_MIN_CONCURRENCY || num > BTHREAD_MAX_CONCURRENCY) { + LOG(ERROR) << "Invalid concurrency_by_tag=" << num; + return EINVAL; + } auto c = bthread::get_or_new_task_control(); BAIDU_SCOPED_LOCK(bthread::g_task_control_mutex); auto ngroup = c->concurrency();