From 704e92c824948d0cce7751395b8be358310e10df Mon Sep 17 00:00:00 2001 From: Chase Date: Fri, 14 Nov 2025 17:02:24 -0500 Subject: [PATCH 1/3] Xtranssock.c: fix format truncation warning --- os/Xtranssock.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/os/Xtranssock.c b/os/Xtranssock.c index 2e2f96e2b9..e96f992cb2 100644 --- a/os/Xtranssock.c +++ b/os/Xtranssock.c @@ -638,7 +638,8 @@ set_sun_path(const char *port, const char *upath, char *path, int abstract) if ((ssize_t)(strlen(at) + strlen(upath) + strlen(port)) > maxlen) return -1; - snprintf(path, sizeof(s.sun_path), "%s%s%s", at, upath, port); + + asprintf(&path, "%s%s%s", at, upath, port); return 0; } #endif From e9add0da49b50043067a67993c90f0230b6ec17f Mon Sep 17 00:00:00 2001 From: Chase Date: Fri, 14 Nov 2025 17:28:32 -0500 Subject: [PATCH 2/3] try different approach to fix CI error --- os/Xtranssock.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/os/Xtranssock.c b/os/Xtranssock.c index e96f992cb2..1e41efaa61 100644 --- a/os/Xtranssock.c +++ b/os/Xtranssock.c @@ -622,7 +622,7 @@ set_sun_path(const char *port, const char *upath, char *path, int abstract) struct sockaddr_un s; ssize_t maxlen = sizeof(s.sun_path) - 1; const char *at = ""; - + char * buf; if (!port || !*port || !path) return -1; @@ -639,7 +639,10 @@ set_sun_path(const char *port, const char *upath, char *path, int abstract) if ((ssize_t)(strlen(at) + strlen(upath) + strlen(port)) > maxlen) return -1; - asprintf(&path, "%s%s%s", at, upath, port); + asprintf(&buf, "%s%s%s", at, upath, port); + strncpy(path, buf, sizeof(s.sun_path-1)); + s.sun_path[sizeof(s.sun_path)-1] = '\0'; + free(buf); return 0; } #endif From 0d14ad0c578bd7f3dc382f05752dfc8ec630208d Mon Sep 17 00:00:00 2001 From: Chase Date: Fri, 14 Nov 2025 19:45:42 -0500 Subject: [PATCH 3/3] Fix mistake --- os/Xtranssock.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/os/Xtranssock.c b/os/Xtranssock.c index 1e41efaa61..9335525bc0 100644 --- a/os/Xtranssock.c +++ b/os/Xtranssock.c @@ -640,7 +640,7 @@ set_sun_path(const char *port, const char *upath, char *path, int abstract) return -1; asprintf(&buf, "%s%s%s", at, upath, port); - strncpy(path, buf, sizeof(s.sun_path-1)); + strncpy(path, buf, sizeof(s.sun_path)-1); s.sun_path[sizeof(s.sun_path)-1] = '\0'; free(buf); return 0;