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>