- Fixed bug #32809 (Missing T1LIB support on Windows). (Edin)
- Fixed bug #32802 (General cookie overrides more specific cookie). (Ilia)
- Fixed bugs #32800, #32830 (ext/odbc: Problems with 64bit systems). (Jani)
+- Fixed bug #32799 (crash: calling the corresponding global var during the
+ destruct). (Dmitry)
- Fixed bug #32776 (SOAP doesn't support one-way operations). (Dmitry)
- Fixed bug #32773 (GMP functions break when second parameter is 0). (Stas)
- Fixed bug #32759 (incorrect determination of default value (COM)). (Wez)
--- /dev/null
+--TEST--
+Bug #32799 (crash: calling the corresponding global var during the destruct)
+--FILE--
+<?php
+class test{
+ public $c=1;
+ function __destruct (){
+ $GLOBALS['p']->c++; // no warning
+ print $GLOBALS['p']->c."\n"; // segfault
+ var_dump($GLOBALS['p']);
+ }
+}
+$p=new test;
+$p=null; //destroy the object by a new assignment (segfault)
+?>
+--EXPECT--
+2
+object(test)#1 (1) {
+ ["c"]=>
+ int(2)
+}
EG(objects_store).object_buckets[handle].destructor_called = 1;
if (obj->dtor) {
+ zobject->refcount++;
obj->dtor(obj->object, handle TSRMLS_CC);
+ zobject->refcount--;
}
}
if (obj->refcount == 1) {