From b142f3776fdb97b6428f507c9f04ea95d79a3b1c Mon Sep 17 00:00:00 2001 From: heyuanjie87 <943313837@qq.com> Date: Mon, 10 Feb 2025 18:25:56 +0800 Subject: [PATCH 1/2] =?UTF-8?q?[lwp]=E5=AF=B9=E6=A3=80=E6=9F=A5killpg?= =?UTF-8?q?=E7=9A=84signo=E5=8F=82=E6=95=B0=E7=9A=84=E6=9C=89=E6=95=88?= =?UTF-8?q?=E6=80=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- components/lwp/lwp_signal.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/components/lwp/lwp_signal.c b/components/lwp/lwp_signal.c index 0bbb98c5d25..e6700618b66 100644 --- a/components/lwp/lwp_signal.c +++ b/components/lwp/lwp_signal.c @@ -27,6 +27,11 @@ #include "sys/signal.h" #include "syscall_generic.h" +rt_inline rt_err_t valid_signo_check(unsigned long sig) +{ + return sig <= _LWP_NSIG ? 0 : -RT_EINVAL; +} + static lwp_siginfo_t siginfo_create(rt_thread_t current, int signo, int code, lwp_siginfo_ext_t ext) { lwp_siginfo_t siginfo; @@ -1432,7 +1437,8 @@ rt_err_t lwp_pgrp_signal_kill(rt_processgroup_t pgrp, long signo, long code, PGRP_ASSERT_LOCKED(pgrp); - if (pgrp) + rc = valid_signo_check(signo); + if (pgrp && !rc) { rt_list_for_each_entry(lwp, &pgrp->process, pgrp_node) { From 3178e0a47ef2f3d44fde8569ac1d76cbd82a564b Mon Sep 17 00:00:00 2001 From: heyuanjie87 <943313837@qq.com> Date: Mon, 10 Feb 2025 21:28:01 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=BB=A3=E7=A0=81?= =?UTF-8?q?=E6=A0=BC=E5=BC=8F=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- components/lwp/lwp_signal.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/lwp/lwp_signal.c b/components/lwp/lwp_signal.c index e6700618b66..8c88e68151e 100644 --- a/components/lwp/lwp_signal.c +++ b/components/lwp/lwp_signal.c @@ -29,7 +29,7 @@ rt_inline rt_err_t valid_signo_check(unsigned long sig) { - return sig <= _LWP_NSIG ? 0 : -RT_EINVAL; + return sig <= _LWP_NSIG ? 0 : -RT_EINVAL; } static lwp_siginfo_t siginfo_create(rt_thread_t current, int signo, int code, lwp_siginfo_ext_t ext)