fix:SysMqNotify系统调用安全增强

Close: #I7YG58

Signed-off-by: zhangdengyu <zhangdengyu2@huawei.com>
Change-Id: Iee5a6c24cd2226e9cab0c4fd37e76194ad068862
This commit is contained in:
zhangdengyu 2023-09-04 17:41:13 +08:00
parent 63885154d2
commit 27eb4e2334
1 changed files with 7 additions and 1 deletions

View File

@ -94,9 +94,15 @@ int SysMqClose(mqd_t personal)
int SysMqNotify(mqd_t personal, const struct sigevent *sigev) int SysMqNotify(mqd_t personal, const struct sigevent *sigev)
{ {
int ret; int ret;
struct sigevent ksigev;
ret = LOS_ArchCopyFromUser(&ksigev, sigev, sizeof(struct sigevent));
if (ret != 0) {
return -EFAULT;
}
MQUEUE_FD_U2K(personal); MQUEUE_FD_U2K(personal);
ret = OsMqNotify(personal, sigev); ret = OsMqNotify(personal, &ksigev);
if (ret < 0) { if (ret < 0) {
return -get_errno(); return -get_errno();
} }