socket: fix invalid unix paths being used

This commit is contained in:
Matheus
2026-04-06 21:42:00 -03:00
parent 2ebd08e949
commit 8535a207b7
2 changed files with 9 additions and 3 deletions
+5 -1
View File
@@ -151,7 +151,11 @@ static inline int sock_convertaddress(sockaddr_t *sockaddr, abisockaddr_t *abiso
break;
case AF_LOCAL:
unaddr_t *unaddr = (unaddr_t *)abisockaddr;
strcpy(sockaddr->path, unaddr->sun_path);
size_t length = strnlen(unaddr->sun_path, ABISOCKADDR_UN_MAX);
if (length == ABISOCKADDR_UN_MAX)
return EINVAL;
memcpy(sockaddr->path, unaddr->sun_path, length + 1);
break;
default:
return EINVAL;