Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
Re: PATCH v2: socket: unmetafy the socket name
- X-seq: zsh-workers 55129
- From: Mikael Magnusson <mikachu@xxxxxxxxx>
- To: zsh-workers@xxxxxxx
- Cc: Bart Schaefer <schaefer@xxxxxxxxxxxxxxxx>
- Subject: Re: PATCH v2: socket: unmetafy the socket name
- Date: Fri, 28 Aug 2026 05:27:04 +0200
- Arc-authentication-results: i=1; mx.google.com; arc=none
- Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20260327; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:dkim-signature; bh=Q8Bxj0rJBgux1Yy4B2kUSwz7bbQY9cJbYx/g218BlPI=; fh=Rsd2jM6vc4oBcCB3pRaDn23RI1rSaOtarprmhxdhKFQ=; b=Ga632EoI3i/3ihSyIlIP4qr847iGFm9vCFgnY+V34sXSwBDFra7PhBZGoa1nzmsbHw 30okYFHtlLom4ods9Gu+H95MYLRFbsE9ihRzUXBageq80idGb/UZm0jsiOhaLLLzCui8 iNgWWOw0dNesDx7LrLylIDwm0B88PQAtM1tar3RXJS1vRaLAfYvAHerqtWhHrI/A4D7p RhGTVs/rBXRFp/ftYTvm+ZxE+WKlwXUb3P+e4ALqiEg6gcfUro/xqO4ST915lp9AyBLf XeegqSS1RrlMagsXjDZX4UHPgU1eVT54DRzC/1lFHHi7clj2WCrQaSIP530GVmHRv9lV lbwA==; darn=zsh.org
- Arc-seal: i=1; a=rsa-sha256; t=1787887637; cv=none; d=google.com; s=arc-20260327; b=fhb8PCkt0DxhxIdXYmS7EM0keyVijmrmyI7DfLLli8fbECMZLWyA1iGtkXMAC3yBhT 86J3E+6yaTGmFfYmAuJDdkYuabl0sP4C4N9UBgZryuzt32Qud6Gad6qm3MDHmv3x8gYl BWG0rOqxQvlkk7ZxzbR7BfKCboa+JnmwNkF5r02JDaMNUcYO5rGoiQPfrj7SsaEYLSou MqIYBs2q2TKo+palSQwQVNtMD4Vs6hbr009PY3Kj7tRCyyv6HZuHG1Ofy/3saonOuLSu ggQ5OslJ5XJCu69w1uzDjvWF2ZmTumyXQjNgyWswImcdAce7yrDCYJSTMdTzZkYsQ+qr 7uLw==
- Archived-at: <https://zsh.org/workers/55129>
- In-reply-to: <20260828031434.6174-1-mikachu@gmail.com>
- List-id: <zsh-workers.zsh.org>
- References: <CAH+w=7aKWW4Zo4c6m5PCRm4GLYdFKn+zrb1yax7eLiSupRz4nw@mail.gmail.com> <20260828031434.6174-1-mikachu@gmail.com>
Argh, forgot that metafy changes the string in place, so the one error
message where I purposely left args[0] "instead of" using the
unmetafied sockname still output garbage. Just re-metafy it here since
it's in the error path, rather than always dup the original metafied
string just in case this error needs it.
On Fri, Aug 28, 2026 at 5:14 AM Mikael Magnusson <mikachu@xxxxxxxxx> wrote:
> @@ -103,11 +106,12 @@ bin_zsocket(char *nam, char **args, Options ops, UNUSED(int func))
> }
>
> soun.sun_family = AF_UNIX;
> - strncpy(soun.sun_path, localfn, sizeof(soun.sun_path)-1);
> + memcpy(soun.sun_path, sockname, socknamelen);
> + addrlen = offsetof(struct sockaddr_un, sun_path) + socknamelen;
>
> - if (bind(sfd, (struct sockaddr *)&soun, sizeof(struct sockaddr_un)))
> + if (bind(sfd, (struct sockaddr *)&soun, addrlen))
> {
> - zwarnnam(nam, "could not bind to %s: %e", soun.sun_path, errno);
> + zwarnnam(nam, "could not bind to %s: %e", args[0], errno);
> close(sfd);
> return 1;
> }
diff --git i/Src/Modules/socket.c w/Src/Modules/socket.c
index 4d32ee85a8..9a415e2d12 100644
--- i/Src/Modules/socket.c
+++ w/Src/Modules/socket.c
@@ -111,7 +111,7 @@ bin_zsocket(char *nam, char **args, Options ops,
UNUSED(int func))
if (bind(sfd, (struct sockaddr *)&soun, addrlen))
{
- zwarnnam(nam, "could not bind to %s: %e", args[0], errno);
+ zwarnnam(nam, "could not bind to %s: %e", metafy(sockname,
socknamelen, META_STATIC), errno);
close(sfd);
return 1;
}
(I'm not resending the full patch for this)
--
Mikael Magnusson
Messages sorted by:
Reverse Date,
Date,
Thread,
Author