4
0
mirror of https://github.com/RT-Thread/rt-thread.git synced 2025-03-02 09:35:28 +08:00

[syscall][socket]fix socket addr bug (#7876)

This commit is contained in:
Tennn11 2023-07-27 17:24:26 +08:00 committed by GitHub
parent fb1faa0746
commit 43b451b27c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -2937,11 +2937,11 @@ sysret_t sys_getpeername(int socket, struct musl_sockaddr *name, socklen_t *name
socklen_t unamelen;
socklen_t knamelen;
if (!lwp_user_accessable(namelen, sizeof (socklen_t *)))
if (!lwp_user_accessable(namelen, sizeof(socklen_t)))
{
return -EFAULT;
}
lwp_get_from_user(&unamelen, namelen, sizeof (socklen_t *));
lwp_get_from_user(&unamelen, namelen, sizeof(socklen_t));
if (!unamelen)
{
return -EINVAL;
@ -2963,7 +2963,7 @@ sysret_t sys_getpeername(int socket, struct musl_sockaddr *name, socklen_t *name
unamelen = sizeof(struct musl_sockaddr);
}
lwp_put_to_user(name, &kname, unamelen);
lwp_put_to_user(namelen, &unamelen, sizeof (socklen_t *));
lwp_put_to_user(namelen, &unamelen, sizeof(socklen_t));
}
else
{
@ -2981,11 +2981,11 @@ sysret_t sys_getsockname(int socket, struct musl_sockaddr *name, socklen_t *name
socklen_t unamelen;
socklen_t knamelen;
if (!lwp_user_accessable(namelen, sizeof (socklen_t *)))
if (!lwp_user_accessable(namelen, sizeof (socklen_t)))
{
return -EFAULT;
}
lwp_get_from_user(&unamelen, namelen, sizeof (socklen_t *));
lwp_get_from_user(&unamelen, namelen, sizeof (socklen_t));
if (!unamelen)
{
return -EINVAL;
@ -3006,7 +3006,7 @@ sysret_t sys_getsockname(int socket, struct musl_sockaddr *name, socklen_t *name
unamelen = sizeof(struct musl_sockaddr);
}
lwp_put_to_user(name, &kname, unamelen);
lwp_put_to_user(namelen, &unamelen, sizeof(socklen_t *));
lwp_put_to_user(namelen, &unamelen, sizeof(socklen_t));
}
else
{