Skip to content

Commit fc8f30d

Browse files
committed
ext/hash: Add failing tests for phpGH-16711
1 parent d87f3ff commit fc8f30d

File tree

2 files changed

+200
-0
lines changed

2 files changed

+200
-0
lines changed

ext/hash/tests/gh16711_1.phpt

+100
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,100 @@
1+
--TEST--
2+
GH-16711: Segmentation fault in mhash()
3+
--SKIPIF--
4+
<?php if(!function_exists('mhash')) { die('skip mhash compatibility layer not available'); } ?>
5+
--XFAIL--
6+
SEGFAULT
7+
--FILE--
8+
<?php
9+
10+
$re = new ReflectionExtension("hash");
11+
var_dump($re->getConstants());
12+
13+
var_dump(mhash(133, 1086849124, 133));
14+
?>
15+
--EXPECTF--
16+
array(40) {
17+
["HASH_HMAC"]=>
18+
int(1)
19+
["MHASH_CRC32"]=>
20+
int(0)
21+
["MHASH_MD5"]=>
22+
int(1)
23+
["MHASH_SHA1"]=>
24+
int(2)
25+
["MHASH_HAVAL256"]=>
26+
int(3)
27+
["MHASH_RIPEMD160"]=>
28+
int(5)
29+
["MHASH_TIGER"]=>
30+
int(7)
31+
["MHASH_GOST"]=>
32+
int(8)
33+
["MHASH_CRC32B"]=>
34+
int(9)
35+
["MHASH_HAVAL224"]=>
36+
int(10)
37+
["MHASH_HAVAL192"]=>
38+
int(11)
39+
["MHASH_HAVAL160"]=>
40+
int(12)
41+
["MHASH_HAVAL128"]=>
42+
int(13)
43+
["MHASH_TIGER128"]=>
44+
int(14)
45+
["MHASH_TIGER160"]=>
46+
int(15)
47+
["MHASH_MD4"]=>
48+
int(16)
49+
["MHASH_SHA256"]=>
50+
int(17)
51+
["MHASH_ADLER32"]=>
52+
int(18)
53+
["MHASH_SHA224"]=>
54+
int(19)
55+
["MHASH_SHA512"]=>
56+
int(20)
57+
["MHASH_SHA384"]=>
58+
int(21)
59+
["MHASH_WHIRLPOOL"]=>
60+
int(22)
61+
["MHASH_RIPEMD128"]=>
62+
int(23)
63+
["MHASH_RIPEMD256"]=>
64+
int(24)
65+
["MHASH_RIPEMD320"]=>
66+
int(25)
67+
["MHASH_SNEFRU256"]=>
68+
int(27)
69+
["MHASH_MD2"]=>
70+
int(28)
71+
["MHASH_FNV132"]=>
72+
int(29)
73+
["MHASH_FNV1A32"]=>
74+
int(30)
75+
["MHASH_FNV164"]=>
76+
int(31)
77+
["MHASH_FNV1A64"]=>
78+
int(32)
79+
["MHASH_JOAAT"]=>
80+
int(33)
81+
["MHASH_CRC32C"]=>
82+
int(34)
83+
["MHASH_MURMUR3A"]=>
84+
int(35)
85+
["MHASH_MURMUR3C"]=>
86+
int(36)
87+
["MHASH_MURMUR3F"]=>
88+
int(37)
89+
["MHASH_XXH32"]=>
90+
int(38)
91+
["MHASH_XXH64"]=>
92+
int(39)
93+
["MHASH_XXH3"]=>
94+
int(40)
95+
["MHASH_XXH128"]=>
96+
int(41)
97+
}
98+
99+
Deprecated: Function mhash() is deprecated in %s on line %d
100+
SEGFAULT

ext/hash/tests/gh16711_2.phpt

+100
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,100 @@
1+
--TEST--
2+
GH-16711: Segmentation fault in mhash()
3+
--SKIPIF--
4+
<?php if(!function_exists('mhash')) { die('skip mhash compatibility layer not available'); } ?>
5+
--XFAIL--
6+
SEGFAULT
7+
--FILE--
8+
<?php
9+
10+
$re = new ReflectionExtension("hash");
11+
var_dump($re->getConstants());
12+
13+
var_dump(mhash(4, 1086849124, 133));
14+
?>
15+
--EXPECTF--
16+
array(40) {
17+
["HASH_HMAC"]=>
18+
int(1)
19+
["MHASH_CRC32"]=>
20+
int(0)
21+
["MHASH_MD5"]=>
22+
int(1)
23+
["MHASH_SHA1"]=>
24+
int(2)
25+
["MHASH_HAVAL256"]=>
26+
int(3)
27+
["MHASH_RIPEMD160"]=>
28+
int(5)
29+
["MHASH_TIGER"]=>
30+
int(7)
31+
["MHASH_GOST"]=>
32+
int(8)
33+
["MHASH_CRC32B"]=>
34+
int(9)
35+
["MHASH_HAVAL224"]=>
36+
int(10)
37+
["MHASH_HAVAL192"]=>
38+
int(11)
39+
["MHASH_HAVAL160"]=>
40+
int(12)
41+
["MHASH_HAVAL128"]=>
42+
int(13)
43+
["MHASH_TIGER128"]=>
44+
int(14)
45+
["MHASH_TIGER160"]=>
46+
int(15)
47+
["MHASH_MD4"]=>
48+
int(16)
49+
["MHASH_SHA256"]=>
50+
int(17)
51+
["MHASH_ADLER32"]=>
52+
int(18)
53+
["MHASH_SHA224"]=>
54+
int(19)
55+
["MHASH_SHA512"]=>
56+
int(20)
57+
["MHASH_SHA384"]=>
58+
int(21)
59+
["MHASH_WHIRLPOOL"]=>
60+
int(22)
61+
["MHASH_RIPEMD128"]=>
62+
int(23)
63+
["MHASH_RIPEMD256"]=>
64+
int(24)
65+
["MHASH_RIPEMD320"]=>
66+
int(25)
67+
["MHASH_SNEFRU256"]=>
68+
int(27)
69+
["MHASH_MD2"]=>
70+
int(28)
71+
["MHASH_FNV132"]=>
72+
int(29)
73+
["MHASH_FNV1A32"]=>
74+
int(30)
75+
["MHASH_FNV164"]=>
76+
int(31)
77+
["MHASH_FNV1A64"]=>
78+
int(32)
79+
["MHASH_JOAAT"]=>
80+
int(33)
81+
["MHASH_CRC32C"]=>
82+
int(34)
83+
["MHASH_MURMUR3A"]=>
84+
int(35)
85+
["MHASH_MURMUR3C"]=>
86+
int(36)
87+
["MHASH_MURMUR3F"]=>
88+
int(37)
89+
["MHASH_XXH32"]=>
90+
int(38)
91+
["MHASH_XXH64"]=>
92+
int(39)
93+
["MHASH_XXH3"]=>
94+
int(40)
95+
["MHASH_XXH128"]=>
96+
int(41)
97+
}
98+
99+
Deprecated: Function mhash() is deprecated in %s on line %d
100+
SEGFAULT

0 commit comments

Comments
 (0)