From 9e7ba0c7a02031294fefadfbca42b3dd5f2d841f Mon Sep 17 00:00:00 2001 From: Olaf Kirch Date: Tue, 16 Sep 2008 08:46:29 -0400 Subject: [PATCH] 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 --- src/rpc_generic.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) 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) -- 1.5.6