> On Jul 31, 2017, at 12:26 AM, Joshua Kinard <kumba@xxxxxxxxxx> wrote: > > As annotated in the bcopy(3) man page, bcopy() was marked as LEGACY in > POSIX.1-2001 and removed in POSIX.1-2008, and should be replaced with > either memcpy() or memmove() calls to copy bytes from one memory region to > another. The attached patch replaces all bcopy() calls in libtirpc with > equivalent memmove() calls. As far as I can tell these are all deprecated code paths. memmove(3) should be safe in all cases, but there's no way to test the change. Reviewed-by: Chuck Lever <chuck.lever@xxxxxxxxxx> > Signed-off-by: Joshua Kinard <kumba@xxxxxxxxxx> > --- > > src/auth_time.c | 2 +- > src/crypt_client.c | 8 ++++---- > src/svc_auth_des.c | 2 +- > 3 files changed, 6 insertions(+), 6 deletions(-) > > diff --git a/src/auth_time.c b/src/auth_time.c > index 210d251..5426902 100644 > --- a/src/auth_time.c > +++ b/src/auth_time.c > @@ -104,7 +104,7 @@ static int uaddr_to_sockaddr(uaddr, sin) > p_bytes[1] = (unsigned char)a[5] & 0x000000FF; > > sin->sin_family = AF_INET; /* always */ > - bcopy((char *)&p_bytes, (char *)&sin->sin_port, 2); > + memmove((char *)&sin->sin_port, (char *)&p_bytes, 2); > > return (0); > } > diff --git a/src/crypt_client.c b/src/crypt_client.c > index f393926..b8c5767 100644 > --- a/src/crypt_client.c > +++ b/src/crypt_client.c > @@ -75,8 +75,8 @@ _des_crypt_call(buf, len, dparms) > des_crypt_1_arg.desbuf.desbuf_val = buf; > des_crypt_1_arg.des_dir = dparms->des_dir; > des_crypt_1_arg.des_mode = dparms->des_mode; > - bcopy(dparms->des_ivec, des_crypt_1_arg.des_ivec, 8); > - bcopy(dparms->des_key, des_crypt_1_arg.des_key, 8); > + memmove(des_crypt_1_arg.des_ivec, dparms->des_ivec, 8); > + memmove(des_crypt_1_arg.des_key, dparms->des_key, 8); > > result_1 = des_crypt_1(&des_crypt_1_arg, clnt); > if (result_1 == (desresp *) NULL) { > @@ -88,8 +88,8 @@ _des_crypt_call(buf, len, dparms) > > if (result_1->stat == DESERR_NONE || > result_1->stat == DESERR_NOHWDEVICE) { > - bcopy(result_1->desbuf.desbuf_val, buf, len); > - bcopy(result_1->des_ivec, dparms->des_ivec, 8); > + memmove(buf, result_1->desbuf.desbuf_val, len); > + memmove(dparms->des_ivec, result_1->des_ivec, 8); > } > > clnt_freeres(clnt, (xdrproc_t)xdr_desresp, result_1); > diff --git a/src/svc_auth_des.c b/src/svc_auth_des.c > index 64a7682..5813c5a 100644 > --- a/src/svc_auth_des.c > +++ b/src/svc_auth_des.c > @@ -145,7 +145,7 @@ _svcauth_des(rqst, msg) > return (AUTH_BADCRED); > } > cred->adc_fullname.name = area->area_netname; > - bcopy((char *)ixdr, cred->adc_fullname.name, > + memmove(cred->adc_fullname.name, (char *)ixdr, > (u_int)namelen); > cred->adc_fullname.name[namelen] = 0; > ixdr += (RNDUP(namelen) / BYTES_PER_XDR_UNIT); > -- Chuck Lever chucklever@xxxxxxxxx -- To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html