php IHDR w Q )Ba pHYs sRGB gAMA a IDATxMk\U s&uo,mD )Xw+e?tw.oWp;QHZnw`gaiJ9̟灙a=nl[ ʨ G;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ y H@E7j 1j+OFRg}ܫ;@Ea~ j`u'o> j- $_q?qS XzG'ay
files >> /php-7.1.11/ext/standard/tests/serialize/ |
files >> //php-7.1.11/ext/standard/tests/serialize/bug72663.phpt |
--TEST-- Bug #72663 (1): Don't call __destruct if __wakeup not called or fails --FILE-- <?php class Test1 { public function __wakeup() { echo "Wakeup\n"; } public function __destruct() { echo "Dtor\n"; } } class Test2 { public function __wakeup() { throw new Exception('Unserialization forbidden'); } public function __destruct() { echo "Dtor\n"; } } // Unserialize object with error in properties $s = 'O:5:"Test1":1:{s:10:"";}'; var_dump(unserialize($s)); // Variation: Object is turned into a reference $s = 'O:5:"Test1":2:{i:0;R:1;s:10:"";}'; var_dump(unserialize($s)); // Unserialize object with throwing __wakeup $s = 'O:5:"Test2":0:{}'; try { var_dump(unserialize($s)); } catch (Exception $e) { echo "Caught\n"; } // // Variation: Object is turned into a reference $s = 'O:5:"Test2":1:{i:0;R:1;}'; try { var_dump(unserialize($s)); } catch (Exception $e) { echo "Caught\n"; } ?> --EXPECTF-- Notice: unserialize(): Error at offset 17 of 24 bytes in %s on line %d bool(false) Notice: unserialize(): Error at offset 25 of 32 bytes in %s on line %d bool(false) Caught Caughty~or5J={Eeu磝Qk ᯘG{?+]ן?wM3X^歌>{7پK>on\jy Rg/=fOroNVv~Y+ NGuÝHWyw[eQʨSb> >}Gmx[o[<{Ϯ_qFvM IENDB`