1--TEST-- 2Unserialize invalid random data 3--SKIPIF-- 4<?php 5if (!extension_loaded('msgpack')) { 6 die("skip"); 7} 8?> 9--XFAIL-- 10REGRESSION 11--FILE-- 12<?php 13$datas = array( 14 87817, 15 -1, 16 array(1,2,3,"testing" => 10, "foo"), 17 true, 18 false, 19 0.187182, 20 "dakjdh98389\000", 21 null, 22 (object)array(1,2,3), 23); 24 25error_reporting(0); 26 27foreach ($datas as $data) 28{ 29 $str = msgpack_serialize($data); 30 $len = strlen($str); 31 32 for ($j = 0; $j < 200; $j++) 33 { 34 for ($i = 0; $i < $len - 1; $i++) 35 { 36 $sub = substr($str, 0, $i); 37 $sub .= random_bytes(30); 38 $php_errormsg = null; 39 $v = msgpack_unserialize($sub); 40 } 41 } 42} 43?> 44OK 45--EXPECT-- 46OK 47