mirror of
https://github.com/apache/nuttx.git
synced 2026-05-29 04:19:37 +08:00
sys/socket/scm: return NULL when cmsg_len is zero
Signed-off-by: dongjiuzhu1 <dongjiuzhu1@xiaomi.com>
This commit is contained in:
@@ -348,11 +348,12 @@ static inline FAR struct cmsghdr *__cmsg_nxthdr(FAR void *__ctl,
|
|||||||
unsigned int __size,
|
unsigned int __size,
|
||||||
FAR struct cmsghdr *__cmsg)
|
FAR struct cmsghdr *__cmsg)
|
||||||
{
|
{
|
||||||
FAR struct cmsghdr *__ptr;
|
size_t len = CMSG_ALIGN(__cmsg->cmsg_len);
|
||||||
|
FAR struct cmsghdr *__ptr =
|
||||||
|
(FAR struct cmsghdr *)(((FAR char *)__cmsg) + len);
|
||||||
|
|
||||||
__ptr = (FAR struct cmsghdr *)
|
if (len < sizeof(*__cmsg) ||
|
||||||
(((FAR char *)__cmsg) + CMSG_ALIGN(__cmsg->cmsg_len));
|
(unsigned long)((FAR char *)(__ptr + 1) - (FAR char *)__ctl) > __size)
|
||||||
if ((unsigned long)((FAR char *)(__ptr + 1) - (FAR char *)__ctl) > __size)
|
|
||||||
{
|
{
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user