From: Olaf Kirch Date: Tue, 16 Sep 2008 12:46:29 +0000 (-0400) Subject: Fix for taddr2addr conversion bug of local addresses X-Git-Tag: libtirpc-0-1-10~10 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=9e7ba0c7a02031294fefadfbca42b3dd5f2d841f;p=libtirpc Fix for taddr2addr conversion bug of local addresses When converting af_local socket addresses in taddr2uaddr, an incorrect sizeof() would result in a truncated path string. As a result, rpcbind will report the local /var/lib/rpcbind address to clients as "/v" on a 32bit machine. Signed-off-by: okir@suse.de Signed-off-by: Steve Dickson --- diff --git a/src/rpc_generic.c b/src/rpc_generic.c index ff4ba16..b436e3a 100644 --- a/src/rpc_generic.c +++ b/src/rpc_generic.c @@ -629,7 +629,7 @@ __rpc_taddr2uaddr_af(int af, const struct netbuf *nbuf) /* if (asprintf(&ret, "%.*s", (int)(sun->sun_len - offsetof(struct sockaddr_un, sun_path)), sun->sun_path) < 0)*/ - if (asprintf(&ret, "%.*s", (int)(sizeof(sun) - + if (asprintf(&ret, "%.*s", (int)(sizeof(*sun) - offsetof(struct sockaddr_un, sun_path)), sun->sun_path) < 0)