Page MenuHomeFreeBSD

D2690.id5826.diff
No OneTemporary

D2690.id5826.diff

Index: usr.sbin/ypbind/ypbind.c
===================================================================
--- usr.sbin/ypbind/ypbind.c
+++ usr.sbin/ypbind/ypbind.c
@@ -225,10 +225,10 @@
res.ypbind_status = YPBIND_SUCC_VAL;
res.ypbind_resp_u.ypbind_error = 0; /* Success */
- *(u_int32_t *)&res.ypbind_resp_u.ypbind_bindinfo.ypbind_binding_addr =
- ypdb->dom_server_addr.sin_addr.s_addr;
- *(u_short *)&res.ypbind_resp_u.ypbind_bindinfo.ypbind_binding_port =
- ypdb->dom_server_addr.sin_port;
+ memcpy(&res.ypbind_resp_u.ypbind_bindinfo.ypbind_binding_addr,
+ &ypdb->dom_server_addr.sin_addr.s_addr, sizeof(u_int32_t));
+ memcpy(&res.ypbind_resp_u.ypbind_bindinfo.ypbind_binding_port,
+ &ypdb->dom_server_addr.sin_port, sizeof(u_short));
/*printf("domain %s at %s/%d\n", ypdb->dom_domain,
inet_ntoa(ypdb->dom_server_addr.sin_addr),
ntohs(ypdb->dom_server_addr.sin_port));*/
@@ -275,8 +275,12 @@
bzero(&bindsin, sizeof bindsin);
bindsin.sin_family = AF_INET;
- bindsin.sin_addr.s_addr = *(u_int32_t *)argp->ypsetdom_binding.ypbind_binding_addr;
- bindsin.sin_port = *(u_short *)argp->ypsetdom_binding.ypbind_binding_port;
+ memcpy(&bindsin.sin_addr.s_addr,
+ &argp->ypsetdom_binding.ypbind_binding_addr,
+ sizeof(u_int32_t));
+ memcpy(&bindsin.sin_port,
+ &argp->ypsetdom_binding.ypbind_binding_port,
+ sizeof(u_short));
rpc_received(argp->ypsetdom_domain, &bindsin, 1);
return((void *) &result);
@@ -945,8 +949,10 @@
bzero(&ybr, sizeof ybr);
ybr.ypbind_status = YPBIND_SUCC_VAL;
- *(u_int32_t *)&ybr.ypbind_resp_u.ypbind_bindinfo.ypbind_binding_addr = raddrp->sin_addr.s_addr;
- *(u_short *)&ybr.ypbind_resp_u.ypbind_bindinfo.ypbind_binding_port = raddrp->sin_port;
+ memcpy(ybr.ypbind_resp_u.ypbind_bindinfo.ypbind_binding_addr,
+ &raddrp->sin_addr.s_addr, sizeof(u_int32_t));
+ memcpy(&ybr.ypbind_resp_u.ypbind_bindinfo.ypbind_binding_port,
+ &raddrp->sin_port, sizeof(u_short));
if (writev(ypdb->dom_lockfd, iov, 2) != iov[0].iov_len + iov[1].iov_len) {
syslog(LOG_WARNING, "write: %m");

File Metadata

Mime Type
text/plain
Expires
Sat, Oct 25, 9:30 PM (2 h, 43 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
24191448
Default Alt Text
D2690.id5826.diff (2 KB)

Event Timeline