HEX
Server: Apache/2.4.41 (Amazon) OpenSSL/1.0.2k-fips PHP/5.6.40
System: Linux ip-172-31-40-18 4.14.146-93.123.amzn1.x86_64 #1 SMP Tue Sep 24 00:45:23 UTC 2019 x86_64
User: apache (48)
PHP: 5.6.40
Disabled: NONE
Upload Files
File: //usr/share/pear/test/igbinary/tests/tests/igbinary_040.phpt
--TEST--
b0rked random data test
--SKIPIF--
--FILE--
<?php
error_reporting(E_ERROR | E_PARSE);

if(!extension_loaded('igbinary')) {
	dl('igbinary.' . PHP_SHLIB_SUFFIX);
}

function test() {
	$serialized = igbinary_serialize(null);
	$serialized = substr($serialized, 0, -1);

	$length = mt_rand(1, 255);
	for ($i = 0; $i < $length; ++$i) {
		$serialized .= chr(mt_rand(0, 255));
	}

	// if returned null everything is OK
	if (($unserialized = igbinary_unserialize($serialized)) === null) {
		return true;
	}

	// whole data is read?
	if ($serialized !== igbinary_serialize($unserialized)) {
		return true;
	}

	echo bin2hex($serialized), "\n";
	var_dump($unserialized);

	return false;
}

mt_srand(0xface);
for ($i = 0; $i < 100; ++$i) {
	if (!test()) break;
}

?>
--EXPECT--