commit 9e7ba0c7a02031294fefadfbca42b3dd5f2d841f Author: Olaf Kirch Date: Tue Sep 16 08:46:29 2008 -0400 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)