mirror of
https://github.com/php/php-src.git
synced 2025-08-16 22:18:50 +02:00
Merge branch 'PHP-7.0' into PHP-7.1
This commit is contained in:
commit
f678b0eae2
3 changed files with 33 additions and 3 deletions
4
NEWS
4
NEWS
|
@ -28,6 +28,10 @@ PHP NEWS
|
||||||
. Fixed bug #69860 (php-fpm process accounting is broken with keepalive).
|
. Fixed bug #69860 (php-fpm process accounting is broken with keepalive).
|
||||||
(Denis Yeldandi)
|
(Denis Yeldandi)
|
||||||
|
|
||||||
|
- Hash:
|
||||||
|
. Fixed bug #73127 (gost-crypto hash incorrect if input data contains long
|
||||||
|
0xFF sequence). (Grundik)
|
||||||
|
|
||||||
- GD:
|
- GD:
|
||||||
. Fixed bug #74031 (ReflectionFunction for imagepng is missing last two
|
. Fixed bug #74031 (ReflectionFunction for imagepng is missing last two
|
||||||
parameters). (finwe)
|
parameters). (finwe)
|
||||||
|
|
|
@ -227,14 +227,13 @@ static inline void Gost(PHP_GOST_CTX *context, uint32_t data[8])
|
||||||
static inline void GostTransform(PHP_GOST_CTX *context, const unsigned char input[32])
|
static inline void GostTransform(PHP_GOST_CTX *context, const unsigned char input[32])
|
||||||
{
|
{
|
||||||
int i, j;
|
int i, j;
|
||||||
uint32_t data[8], temp = 0, save = 0;
|
uint32_t data[8], temp = 0;
|
||||||
|
|
||||||
for (i = 0, j = 0; i < 8; ++i, j += 4) {
|
for (i = 0, j = 0; i < 8; ++i, j += 4) {
|
||||||
data[i] = ((uint32_t) input[j]) | (((uint32_t) input[j + 1]) << 8) |
|
data[i] = ((uint32_t) input[j]) | (((uint32_t) input[j + 1]) << 8) |
|
||||||
(((uint32_t) input[j + 2]) << 16) | (((uint32_t) input[j + 3]) << 24);
|
(((uint32_t) input[j + 2]) << 16) | (((uint32_t) input[j + 3]) << 24);
|
||||||
save = context->state[i + 8];
|
|
||||||
context->state[i + 8] += data[i] + temp;
|
context->state[i + 8] += data[i] + temp;
|
||||||
temp = ((context->state[i + 8] < data[i]) || (context->state[i + 8] < save)) ? 1 : 0;
|
temp = context->state[i + 8] < data[i] ? 1 : (context->state[i + 8] == data[i] ? temp : 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
Gost(context, data);
|
Gost(context, data);
|
||||||
|
|
27
ext/hash/tests/bug73127.phpt
Normal file
27
ext/hash/tests/bug73127.phpt
Normal file
|
@ -0,0 +1,27 @@
|
||||||
|
--TEST--
|
||||||
|
Bug #73127 (gost-crypto hash incorrect if input data contains long 0xFF sequence)
|
||||||
|
--FILE--
|
||||||
|
<?php // $Id$
|
||||||
|
|
||||||
|
$test1 = str_repeat("\xFF", 40);
|
||||||
|
$test2 = str_repeat("\x00", 40);
|
||||||
|
echo hash('gost-crypto', $test1),
|
||||||
|
"\n",
|
||||||
|
hash('gost', $test1),
|
||||||
|
"\n",
|
||||||
|
hash('gost-crypto', $test2),
|
||||||
|
"\n",
|
||||||
|
hash('gost', $test2),
|
||||||
|
"\n",
|
||||||
|
hash('gost-crypto', ''),
|
||||||
|
"\n",
|
||||||
|
hash('gost', '')
|
||||||
|
;
|
||||||
|
?>
|
||||||
|
--EXPECT--
|
||||||
|
231d8bb980d3faa30fee6ec475df5669cf6c24bbce22f46d6737470043a99f8e
|
||||||
|
9eaf96ba62f90fae6707f1d4274d1a9d6680f5a121d4387815aa3a6ec42439c5
|
||||||
|
bbf1f3179409c853cd3e396d67b0e10a266c218a4fd19f149c39aa4f6d37a007
|
||||||
|
a0be0b90fea5a5b50c90c9429d07bb98fa0c06f0c30210e94c7d80c3125c67ac
|
||||||
|
981e5f3ca30c841487830f84fb433e13ac1101569b9c13584ac483234cd656c0
|
||||||
|
ce85b99cc46752fffee35cab9a7b0278abb4c2d2055cff685af4912c49490f8d
|
Loading…
Add table
Add a link
Reference in a new issue