Re: [Libtirpc-devel] [PATCH] Replace bcopy() calls with equivalent memmove() calls

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> 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



[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux