From 62299aa7475bad48ba3e230596f09e794c2b4ce5 Mon Sep 17 00:00:00 2001 From: Jeremy Allison Date: Tue, 26 Feb 2002 17:40:43 +0000 Subject: bcopy must DIE ! Stop people creeping use of bcopy back into the code (and yes I know who you are..... :-). Jeremy. (This used to be commit 330b0df960329bcf4696b8fa4a7357e6c456f74e) --- source3/include/safe_string.h | 5 +++++ source3/lib/hmacmd5.c | 11 +++++------ source3/libsmb/clidgram.c | 2 +- source3/libsmb/libsmbclient.c | 4 ++-- 4 files changed, 13 insertions(+), 9 deletions(-) diff --git a/source3/include/safe_string.h b/source3/include/safe_string.h index 487174dec3..1ee97833c5 100644 --- a/source3/include/safe_string.h +++ b/source3/include/safe_string.h @@ -26,6 +26,11 @@ /* Some macros to ensure people don't use buffer overflow vulnerable string functions. */ +#ifdef bcopy +#undef bcopy +#endif /* bcopy */ +#define bcopy(src,dest,size) __ERROR__XX__NEVER_USE_BCOPY___; + #ifdef strcpy #undef strcpy #endif /* strcpy */ diff --git a/source3/lib/hmacmd5.c b/source3/lib/hmacmd5.c index e4a5995e11..f436fd30c0 100644 --- a/source3/lib/hmacmd5.c +++ b/source3/lib/hmacmd5.c @@ -49,8 +49,8 @@ void hmac_md5_init_rfc2104(uchar* key, int key_len, HMACMD5Context *ctx) /* start out by storing key in pads */ ZERO_STRUCT(ctx->k_ipad); ZERO_STRUCT(ctx->k_opad); - bcopy( key, ctx->k_ipad, key_len); - bcopy( key, ctx->k_opad, key_len); + memcpy( ctx->k_ipad, key, key_len); + memcpy( ctx->k_opad, key, key_len); /* XOR key with ipad and opad values */ for (i=0; i<64; i++) @@ -80,12 +80,11 @@ void hmac_md5_init_limK_to_64(const uchar* key, int key_len, /* start out by storing key in pads */ ZERO_STRUCT(ctx->k_ipad); ZERO_STRUCT(ctx->k_opad); - bcopy( key, ctx->k_ipad, key_len); - bcopy( key, ctx->k_opad, key_len); + memcpy( ctx->k_ipad, key, key_len); + memcpy( ctx->k_opad, key, key_len); /* XOR key with ipad and opad values */ - for (i=0; i<64; i++) - { + for (i=0; i<64; i++) { ctx->k_ipad[i] ^= 0x36; ctx->k_opad[i] ^= 0x5c; } diff --git a/source3/libsmb/clidgram.c b/source3/libsmb/clidgram.c index 0b07bc2c99..abade68b01 100644 --- a/source3/libsmb/clidgram.c +++ b/source3/libsmb/clidgram.c @@ -117,7 +117,7 @@ int cli_get_response(int dgram_sock, BOOL unique, char *mailslot, char *buf, int /* Copy the data to buffer, respecting sizes ... */ - bcopy(&dgram->data[92], buf, MIN(bufsiz, (dgram->datasize - 92))); + memset(buf, &dgram->data[92], MIN(bufsiz, (dgram->datasize - 92))); } else diff --git a/source3/libsmb/libsmbclient.c b/source3/libsmb/libsmbclient.c index 67e95d09d7..01b4186553 100644 --- a/source3/libsmb/libsmbclient.c +++ b/source3/libsmb/libsmbclient.c @@ -1908,7 +1908,7 @@ struct smbc_dirent *smbc_readdir(unsigned int fd) /* Hmmm, do I even need to copy it? */ - bcopy(dirent, smbc_local_dirent, dirent->dirlen); /* Copy the dirent */ + memcpy(smbc_local_dirent, dirent, dirent->dirlen); /* Copy the dirent */ dirp = (struct smbc_dirent *)smbc_local_dirent; @@ -2000,7 +2000,7 @@ int smbc_getdents(unsigned int fd, struct smbc_dirent *dirp, int count) dirent = dir->dirent; - bcopy(dirent, ndir, reqd); /* Copy the data in ... */ + memcpy(ndir, dirent, reqd); /* Copy the data in ... */ ((struct smbc_dirent *)ndir)->comment = (char *)(&((struct smbc_dirent *)ndir)->name + dirent->namelen + 1); -- cgit