diff options
author | Andy Polyakov <appro@openssl.org> | 2005-07-08 16:46:22 +0000 |
---|---|---|
committer | Andy Polyakov <appro@openssl.org> | 2005-07-08 16:46:22 +0000 |
commit | 8f3bdc72d057a76c3af6cdb4802d5302164dfbcd (patch) | |
tree | 8ff28cf3bf305aed59bdcd804908e5e06a6b691e | |
parent | 7d368fcbd87306eccaba6fc1d5b1e8389bb4c434 (diff) |
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.
-rw-r--r-- | crypto/des/cfb_enc.c | 4 |
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 | |