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)
     {

Reply via email to