summaryrefslogtreecommitdiff
path: root/src/clnt_bcast.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/clnt_bcast.c')
-rw-r--r--src/clnt_bcast.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/src/clnt_bcast.c b/src/clnt_bcast.c
index fef7a4b..140407b 100644
--- a/src/clnt_bcast.c
+++ b/src/clnt_bcast.c
@@ -586,13 +586,12 @@ rpc_broadcast_exp(prog, vers, proc, xargs, argsp, xresults, resultsp,
struct netbuf *np;
#ifdef PORTMAP
struct netbuf taddr;
- struct sockaddr_in *sin;
+ struct sockaddr_in sin;
if (pmap_flag && pmap_reply_flag) {
- sin = (struct sockaddr_in *)
- (void *)&fdlist[i].raddr;
- sin->sin_port =
- htons((u_short)port);
+ memcpy(&sin, &fdlist[i].raddr, sizeof(sin));
+ sin.sin_port = htons((u_short)port);
+ memcpy(&fdlist[i].raddr, &sin, sizeof(sin));
taddr.len = taddr.maxlen =
sizeof(fdlist[i].raddr);
taddr.buf = &fdlist[i].raddr;