Hi Nickolai,

> Using memcpy on overlapping regions of memory is undefined behavior in C. 
> In engines/ccgost/gosthash.c, the circle_xor8() function uses memcpy to 

When use clang/llvm-gcc this really bug, hash results wrongs. 
See commits resolved it for "[openssl.org #2858] bug in gosthash.c 
circle_xor8() routine".
And tests: "[openssl.org #2918] [PATCH] Testcase for GOST R 34.11-94 
(openssl/engines/ccgost/gosthash.c)".

Workarounds:
- Don't use llvm (clang or llvm-gcc);
- Or decrease optimization level to "-O1";

-- 
Sorry for my bests English.
 
Serguei E. Leontiev w:+7(495)939-2382 USSR,Moscow,Universitetskij 13
Sternberg Astronom. w:+7(495)780-4820 USSR,Moscow,127018,Sushchevskij val 16-5
Institute, MSU      h:+7(495)318-1146 USSR,Moscow,113303,Kakhovka 6-40
                    m:+7(916)686-1081 SMS: <http://www.mts.ru/sms>
           <http://lnfm1.sai.msu.ru/~leo>
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
Development Mailing List                       openssl-dev@openssl.org
Automated List Manager                           majord...@openssl.org

Reply via email to