Annotation of embedaddon/php/ext/gettext/tests/44938.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: #44938: gettext functions crash with overlong strings
3: --SKIPIF--
4: <?php
5: if (!extension_loaded("gettext")) {
6: die("skip\n");
7: }
8: --FILE--
9: <?php
10: $overflown = str_repeat('C', 8476509);
11: $msgid = "msgid";
12: $domain = "domain";
13: $category = "cat";
14:
15: var_dump(bindtextdomain($overflown, 'path'));
16:
17: var_dump(dngettext($overflown, $msgid, $msgid, 1));
18: var_dump(dngettext($domain, $overflown, $msgid, 1));
19: var_dump(dngettext($domain, $msgid, $overflown, 1));
20:
21: var_dump(gettext($overflown));
22:
23: var_dump(ngettext($overflown, $msgid, -1));
24: var_dump(ngettext($msgid, $overflown, -1));
25:
26: var_dump(dcgettext($overflown, $msgid, -1));
27: var_dump(dcgettext($domain, $overflown, -1));
28:
29: var_dump(dcngettext($overflown, $msgid, $msgid, -1, -1));
30: var_dump(dcngettext($domain, $overflown, $msgid, -1, -1));
31: var_dump(dcngettext($domain, $msgid, $overflown, -1, -1));
32:
33: var_dump(dgettext($overflown, $msgid));
34: var_dump(dgettext($domain, $overflown));
35:
36: var_dump(textdomain($overflown));
37: ?>
38: ==DONE==
39: --EXPECTF--
40:
41: Warning: bindtextdomain(): domain passed too long in %s on line %d
42: bool(false)
43:
44: Warning: dngettext(): domain passed too long in %s on line %d
45: bool(false)
46:
47: Warning: dngettext(): msgid1 passed too long in %s on line %d
48: bool(false)
49:
50: Warning: dngettext(): msgid2 passed too long in %s on line %d
51: bool(false)
52:
53: Warning: gettext(): msgid passed too long in %s on line %d
54: bool(false)
55:
56: Warning: ngettext(): msgid1 passed too long in %s on line %d
57: bool(false)
58:
59: Warning: ngettext(): msgid2 passed too long in %s on line %d
60: bool(false)
61:
62: Warning: dcgettext(): domain passed too long in %s on line %d
63: bool(false)
64:
65: Warning: dcgettext(): msgid passed too long in %s on line %d
66: bool(false)
67:
68: Warning: dcngettext(): domain passed too long in %s on line %d
69: bool(false)
70:
71: Warning: dcngettext(): msgid1 passed too long in %s on line %d
72: bool(false)
73:
74: Warning: dcngettext(): msgid2 passed too long in %s on line %d
75: bool(false)
76:
77: Warning: dgettext(): domain passed too long in %s on line %d
78: bool(false)
79:
80: Warning: dgettext(): msgid passed too long in %s on line %d
81: bool(false)
82:
83: Warning: textdomain(): domain passed too long in %s on line %d
84: bool(false)
85: ==DONE==
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>