~clint-fewbar/ubuntu/precise/php5/php5-5.4-merge

« back to all changes in this revision

Viewing changes to ext/mbstring/tests/mb_strcut_missing_boundary_check.phpt

  • Committer: Package Import Robot
  • Author(s): Chuck Short
  • Date: 2011-02-22 09:46:37 UTC
  • mfrom: (1.1.20) (0.3.18 sid)
  • Revision ID: package-import@ubuntu.com-20110222094637-nlu2tvb7oqgaarl0
Tags: 5.3.5-1ubuntu1
* Merge from debian/unstable. Remaining changes:
 - debian/control:
    * Dropped firebird2.1-dev, libc-client-dev, libmcrypt-dev as it is in universe.
    * Dropped libmysqlclient15-dev, build against mysql 5.1.
    * Dropped libcurl-dev not in the archive.
    * Suggest php5-suhosin rather than recommends.
    * Dropped php5-imap, php5-interbase, php5-mcrypt since we have versions 
      already in universe.
    * Dropped libonig-dev and libqgdbm since its in universe. (will be re-added in lucid+1)
    * Dropped locales-all.
  - modulelist: Drop imap, interbase, sybase, and mcrypt.
  - debian/rules:
    * Dropped building of mcrypt, imap, and interbase.
    * Install apport hook for php5.
    * stop mysql instance on clean just in case we failed in tests

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
--TEST--
 
2
mb_strcut() missing boundary check.
 
3
--SKIPIF--
 
4
<?php
 
5
extension_loaded('mbstring') or die('skip');
 
6
function_exists('mb_convert_encoding') or die("skip mb_convert_encoding() is not available in this build");
 
7
?>
 
8
--FILE--
 
9
<?php
 
10
mb_internal_encoding("UCS-4LE");
 
11
var_dump(bin2hex(mb_strcut("\x61\x00\x00\x00\x62\x00\x00\x00\x63\x00\x00\x00", 0, 32)));
 
12
mb_internal_encoding("UCS-4BE");
 
13
var_dump(bin2hex(mb_strcut("\x00\x00\x00\x61\x00\x00\x00\x62\x00\x00\x00\x63", 0, 32)));
 
14
mb_internal_encoding("UCS-2LE");
 
15
var_dump(bin2hex(mb_strcut("\x61\x00\x62\x00\x63\x00", 0, 32)));
 
16
mb_internal_encoding("UCS-2BE");
 
17
var_dump(bin2hex(mb_strcut("\x00\x61\x00\x62\x00\x63", 0, 32)));
 
18
mb_internal_encoding("UTF-16");
 
19
var_dump(bin2hex(mb_strcut("\x00\x61\x00\x62\x00\x63", 0, 32)));
 
20
mb_internal_encoding("UTF-8");
 
21
var_dump(bin2hex(mb_strcut("abc", 0, 32)));
 
22
mb_internal_encoding("ISO-8859-1");
 
23
var_dump(bin2hex(mb_strcut("abc", 0, 32)));
 
24
--EXPECT--
 
25
string(24) "610000006200000063000000"
 
26
string(24) "000000610000006200000063"
 
27
string(12) "610062006300"
 
28
string(12) "006100620063"
 
29
string(12) "006100620063"
 
30
string(6) "616263"
 
31
string(6) "616263"