forked from pool/libtirpc
33 lines
1.1 KiB
Diff
33 lines
1.1 KiB
Diff
|
From 9e7ba0c7a02031294fefadfbca42b3dd5f2d841f Mon Sep 17 00:00:00 2001
|
||
|
From: Olaf Kirch <okir@suse.de>
|
||
|
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 <steved@redhat.com>
|
||
|
---
|
||
|
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
|
||
|
|