Description: liteos_a 内核竞争漏洞修复
IssueNo: https://gitee.com/openharmony/kernel_liteos_a/issues/I9OACM Feature Or Bugfix: Bugfix Binary Source: No Signed-off-by: hw_llm <liu.limin@huawei.com>
This commit is contained in:
parent
e3eaae1b1c
commit
dbbb96c427
|
@ -604,17 +604,19 @@ int OsMqGetAttr(mqd_t personal, struct mq_attr *mqAttr)
|
||||||
struct mqarray *mqueueCB = NULL;
|
struct mqarray *mqueueCB = NULL;
|
||||||
struct mqpersonal *privateMqPersonal = NULL;
|
struct mqpersonal *privateMqPersonal = NULL;
|
||||||
|
|
||||||
|
(VOID)pthread_mutex_lock(&IPC_QUEUE_MUTEX);
|
||||||
privateMqPersonal = MqGetPrivDataBuff(personal);
|
privateMqPersonal = MqGetPrivDataBuff(personal);
|
||||||
if (privateMqPersonal == NULL) {
|
if (privateMqPersonal == NULL) {
|
||||||
|
(VOID)pthread_mutex_unlock(&IPC_QUEUE_MUTEX);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (mqAttr == NULL) {
|
if (mqAttr == NULL) {
|
||||||
errno = EINVAL;
|
errno = EINVAL;
|
||||||
|
(VOID)pthread_mutex_unlock(&IPC_QUEUE_MUTEX);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
(VOID)pthread_mutex_lock(&IPC_QUEUE_MUTEX);
|
|
||||||
if (privateMqPersonal->mq_status != MQ_USE_MAGIC) {
|
if (privateMqPersonal->mq_status != MQ_USE_MAGIC) {
|
||||||
errno = EBADF;
|
errno = EBADF;
|
||||||
(VOID)pthread_mutex_unlock(&IPC_QUEUE_MUTEX);
|
(VOID)pthread_mutex_unlock(&IPC_QUEUE_MUTEX);
|
||||||
|
@ -634,17 +636,19 @@ int OsMqSetAttr(mqd_t personal, const struct mq_attr *mqSetAttr, struct mq_attr
|
||||||
{
|
{
|
||||||
struct mqpersonal *privateMqPersonal = NULL;
|
struct mqpersonal *privateMqPersonal = NULL;
|
||||||
|
|
||||||
|
(VOID)pthread_mutex_lock(&IPC_QUEUE_MUTEX);
|
||||||
privateMqPersonal = MqGetPrivDataBuff(personal);
|
privateMqPersonal = MqGetPrivDataBuff(personal);
|
||||||
if (privateMqPersonal == NULL) {
|
if (privateMqPersonal == NULL) {
|
||||||
|
(VOID)pthread_mutex_unlock(&IPC_QUEUE_MUTEX);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (mqSetAttr == NULL) {
|
if (mqSetAttr == NULL) {
|
||||||
errno = EINVAL;
|
errno = EINVAL;
|
||||||
|
(VOID)pthread_mutex_unlock(&IPC_QUEUE_MUTEX);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
(VOID)pthread_mutex_lock(&IPC_QUEUE_MUTEX);
|
|
||||||
if (privateMqPersonal->mq_status != MQ_USE_MAGIC) {
|
if (privateMqPersonal->mq_status != MQ_USE_MAGIC) {
|
||||||
errno = EBADF;
|
errno = EBADF;
|
||||||
(VOID)pthread_mutex_unlock(&IPC_QUEUE_MUTEX);
|
(VOID)pthread_mutex_unlock(&IPC_QUEUE_MUTEX);
|
||||||
|
|
Loading…
Reference in New Issue