LINUX.ORG.RU

История изменений

Исправление EXL, (текущая версия) :

Было на БХ: http://habrahabr.ru/company/abbyy/blog/223769/
А вообще конструкции типа:

int CRYPTO_memcmp( const void* f, const void* s, size_t length )
{
   size_t i;
   const volatile unsigned char* first = f;
   const volatile unsigned char* second = s;
   unsigned char magic = 0;
   for( i = 0; i < length; i++ ) {
       magic |= (first[i] ^ second[i]);
   }
   return magic;
}

Вынесут мозг неподготовленным.

Исходная версия EXL, :

Было на БХ: http://habrahabr.ru/company/abbyy/blog/223769/
А вообще конструкции типа:

int CRYPTO_memcmp( const void* f, const void* s, size_t length )
{
   size_t i;
   const volatile unsigned char* first = f;
   const volatile unsigned char* second = s;
   unsigned char magic = 0;
   for( i = 0; i < length; i++ ) {
       magic |= (first[i] ^ second[i]);
   }
   return magic;
}

Вынесут мозг неподготовленным.