Find this useful? Enter your email to receive occasional updates for securing PHP code.
Signing you up...
Thank you for signing up!
PHP Decode
--TEST-- ImagickPixel iterator --SKIPIF-- <?php require_once(dirname(__FILE__) . '/skipif..
Decoded Output download
--TEST--
ImagickPixel iterator
--SKIPIF--
<?php
require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--XFAIL--
This needs a significant amount of work to fix. The issue is the iterator object is going out of scope and being freed, but the row object still has a reference to that pixel iterator, internally in ImageMagick. We need to stop the pixeliterator being freed while the row is still active.
--FILE--
<?php
//$im = new Imagick();
//$im->newImage(1, 1, 'black');
//
//// This works fine
//$it = $im->getPixelIterator();
//$row = $it->getCurrentIteratorRow();
//$rgb = $row[0]->getColor();
//
//$expected = array (
// "r" => 0,
// "g" => 0,
// "b" => 0,
// "a" => 1,
//);
//
//if ($rgb !== $expected) {
// echo "values are incorrect:
";
// var_dump($rgb);
//}
//
//// This crashes with SIGABRT
//$row = $im->getPixelIterator()->getCurrentIteratorRow();
//$rgb = $row[0]->getColor();
//
//if ($rgb !== $expected) {
// echo "values are incorrect:
";
// var_dump($rgb);
//}
echo "Not ok";
?>
--EXPECTF--
Not ok
Did this file decode correctly?
Original Code
--TEST--
ImagickPixel iterator
--SKIPIF--
<?php
require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--XFAIL--
This needs a significant amount of work to fix. The issue is the iterator object is going out of scope and being freed, but the row object still has a reference to that pixel iterator, internally in ImageMagick. We need to stop the pixeliterator being freed while the row is still active.
--FILE--
<?php
//$im = new Imagick();
//$im->newImage(1, 1, 'black');
//
//// This works fine
//$it = $im->getPixelIterator();
//$row = $it->getCurrentIteratorRow();
//$rgb = $row[0]->getColor();
//
//$expected = array (
// "r" => 0,
// "g" => 0,
// "b" => 0,
// "a" => 1,
//);
//
//if ($rgb !== $expected) {
// echo "values are incorrect:\n";
// var_dump($rgb);
//}
//
//// This crashes with SIGABRT
//$row = $im->getPixelIterator()->getCurrentIteratorRow();
//$rgb = $row[0]->getColor();
//
//if ($rgb !== $expected) {
// echo "values are incorrect:\n";
// var_dump($rgb);
//}
echo "Not ok";
?>
--EXPECTF--
Not ok
Function Calls
dirname | 1 |
Stats
MD5 | 5745f92524e319f2983778409d165be8 |
Eval Count | 0 |
Decode Time | 112 ms |