This is an automated email from the ASF dual-hosted git repository.
jerpelea pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/nuttx-apps.git
The following commit(s) were added to refs/heads/master by this push:
new 850f48134 examples: fix local socket address lengths
850f48134 is described below
commit 850f48134485e73eb7fd20173c107318b231ef66
Author: Old-Ding <[email protected]>
AuthorDate: Mon Jul 6 05:25:10 2026 +0800
examples: fix local socket address lengths
The configured path size already includes its NUL terminator. Adding
another byte made the maximum address length exceed sockaddr_un, while
ustream could write at sun_path[UNIX_PATH_MAX].
Use the existing bounded copy length directly as the path portion of
the socket address and rely on strlcpy for termination.
Signed-off-by: Old-Ding <[email protected]>
---
examples/udgram/udgram_client.c | 2 +-
examples/udgram/udgram_server.c | 2 +-
examples/ustream/ustream_client.c | 3 +--
examples/ustream/ustream_server.c | 3 +--
4 files changed, 4 insertions(+), 6 deletions(-)
diff --git a/examples/udgram/udgram_client.c b/examples/udgram/udgram_client.c
index f60abedf6..c0fd63a4f 100644
--- a/examples/udgram/udgram_client.c
+++ b/examples/udgram/udgram_client.c
@@ -100,7 +100,7 @@ int main(int argc, FAR char *argv[])
server.sun_family = AF_LOCAL;
strlcpy(server.sun_path, CONFIG_EXAMPLES_UDGRAM_ADDR, addrlen);
- addrlen += sizeof(sa_family_t) + 1;
+ addrlen += sizeof(sa_family_t);
/* Send the message */
diff --git a/examples/udgram/udgram_server.c b/examples/udgram/udgram_server.c
index 49674ff36..cd1cc928c 100644
--- a/examples/udgram/udgram_server.c
+++ b/examples/udgram/udgram_server.c
@@ -102,7 +102,7 @@ int main(int argc, FAR char *argv[])
server.sun_family = AF_LOCAL;
strlcpy(server.sun_path, CONFIG_EXAMPLES_UDGRAM_ADDR, addrlen);
- addrlen += sizeof(sa_family_t) + 1;
+ addrlen += sizeof(sa_family_t);
if (bind(sockfd, (struct sockaddr *)&server, addrlen) < 0)
{
diff --git a/examples/ustream/ustream_client.c
b/examples/ustream/ustream_client.c
index c7e69a56b..a80e185aa 100644
--- a/examples/ustream/ustream_client.c
+++ b/examples/ustream/ustream_client.c
@@ -88,10 +88,9 @@ int main(int argc, FAR char *argv[])
myaddr.sun_family = AF_LOCAL;
strlcpy(myaddr.sun_path, CONFIG_EXAMPLES_USTREAM_ADDR, addrlen);
- myaddr.sun_path[addrlen] = '\0';
printf("client: Connecting to %s...\n", CONFIG_EXAMPLES_USTREAM_ADDR);
- addrlen += sizeof(sa_family_t) + 1;
+ addrlen += sizeof(sa_family_t);
ret = connect(sockfd, (struct sockaddr *)&myaddr, addrlen);
if (ret < 0)
{
diff --git a/examples/ustream/ustream_server.c
b/examples/ustream/ustream_server.c
index 8f6fffe40..a14c39574 100644
--- a/examples/ustream/ustream_server.c
+++ b/examples/ustream/ustream_server.c
@@ -88,9 +88,8 @@ int main(int argc, char *argv[])
myaddr.sun_family = AF_LOCAL;
strlcpy(myaddr.sun_path, CONFIG_EXAMPLES_USTREAM_ADDR, addrlen);
- myaddr.sun_path[addrlen] = '\0';
- addrlen += sizeof(sa_family_t) + 1;
+ addrlen += sizeof(sa_family_t);
ret = bind(listensd, (struct sockaddr *)&myaddr, addrlen);
if (ret < 0)
{