aboutsummaryrefslogtreecommitdiffstats
path: root/crypto/des
diff options
context:
space:
mode:
authorAndy Polyakov <appro@openssl.org>2005-07-08 16:46:22 +0000
committerAndy Polyakov <appro@openssl.org>2005-07-08 16:46:22 +0000
commit8f3bdc72d057a76c3af6cdb4802d5302164dfbcd (patch)
tree8ff28cf3bf305aed59bdcd804908e5e06a6b691e /crypto/des
parent7d368fcbd87306eccaba6fc1d5b1e8389bb4c434 (diff)
downloadopenssl-8f3bdc72d057a76c3af6cdb4802d5302164dfbcd.tar.gz
Latest Intel compiler means every word in "if copying [with memcpy] takes
place between objects that overlap, the behavior is undefined." It's hard to comprehend, but it reportedly manages to be case.
Diffstat (limited to 'crypto/des')
-rw-r--r--crypto/des/cfb_enc.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/crypto/des/cfb_enc.c b/crypto/des/cfb_enc.c
index 6738e7c0e5..720f29a28e 100644
--- a/crypto/des/cfb_enc.c
+++ b/crypto/des/cfb_enc.c
@@ -125,7 +125,7 @@ void DES_cfb_encrypt(const unsigned char *in, unsigned char *out, int numbits,
sh[0]=v0, sh[1]=v1, sh[2]=d0, sh[3]=d1;
#endif
if (rem==0)
- memcpy(ovec,ovec+num,8);
+ memmove(ovec,ovec+num,8);
else
for(i=0 ; i < 8 ; ++i)
ovec[i]=ovec[i+num]<<rem |
@@ -168,7 +168,7 @@ void DES_cfb_encrypt(const unsigned char *in, unsigned char *out, int numbits,
sh[0]=v0, sh[1]=v1, sh[2]=d0, sh[3]=d1;
#endif
if (rem==0)
- memcpy (ovec,ovec+num,8);
+ memmove(ovec,ovec+num,8);
else
for(i=0 ; i < 8 ; ++i)
ovec[i]=ovec[i+num]<<rem |