]> granicus.if.org Git - php/commitdiff
Backport 7d2ef3d2e540885dec26d91dad061bff1621ad07 into 7.4
authorAnatol Belski <ab@php.net>
Wed, 29 Jan 2020 12:19:27 +0000 (13:19 +0100)
committerAnatol Belski <ab@php.net>
Wed, 29 Jan 2020 12:38:46 +0000 (13:38 +0100)
As the data structures are public, the fix for 64-bit consists
on replacing the blanket memcpy with individual assignments.

ext/hash/hash_gost.c

index f51b310b70ad8c0fa8e254e17076ffe93293fbbb..ded6d1c6a74bc9ec6ea715072ec82e9ce8e56596 100644 (file)
@@ -291,7 +291,8 @@ PHP_HASH_API void PHP_GOSTFinal(unsigned char digest[32], PHP_GOST_CTX *context)
                GostTransform(context, context->buffer);
        }
 
-       memcpy(l, context->count, sizeof(context->count));
+       l[0] = context->count[0];
+       l[1] = context->count[1];
        Gost(context, l);
        memcpy(l, &context->state[8], sizeof(l));
        Gost(context, l);