Annotation of embedaddon/php/ext/gettext/tests/44938.phpt, revision 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>