]> granicus.if.org Git - php/log
php
9 years agoFix genarginfo to respect by-ref passing
Bob Weinand [Mon, 22 Jun 2015 08:17:35 +0000 (10:17 +0200)]
Fix genarginfo to respect by-ref passing

9 years agoFix each() arginfo
Bob Weinand [Mon, 22 Jun 2015 08:03:14 +0000 (10:03 +0200)]
Fix each() arginfo

9 years agoAnd actually use this new arginfo data
Rasmus Lerdorf [Mon, 22 Jun 2015 04:12:48 +0000 (00:12 -0400)]
And actually use this new arginfo data

9 years agoFix set_error_handler() arginfo
Rasmus Lerdorf [Mon, 22 Jun 2015 03:48:00 +0000 (23:48 -0400)]
Fix set_error_handler() arginfo

9 years agoFix arginfo for built-in engine functions
Rasmus Lerdorf [Mon, 22 Jun 2015 01:49:07 +0000 (21:49 -0400)]
Fix arginfo for built-in engine functions

9 years agoFix accidental function related flag value reuse
Bob Weinand [Sun, 21 Jun 2015 23:36:17 +0000 (01:36 +0200)]
Fix accidental function related flag value reuse

9 years agoFix bad run_time_cache with Closure::call()
Bob Weinand [Sun, 21 Jun 2015 14:39:28 +0000 (16:39 +0200)]
Fix bad run_time_cache with Closure::call()
This also fixes a memory "leak" (memory is allocated on unbounded arena without limits) on each new Closure instantiation.
Closures with same scope now all share the same run_time_cache (as long as it is arena allocated)

9 years agoFix bug #68546 (json_decode cannot access property started with \0)
Jakub Zelenka [Sun, 21 Jun 2015 14:30:33 +0000 (15:30 +0100)]
Fix bug #68546 (json_decode cannot access property started with \0)

9 years agoFix segfault with scalar passed to typehint with not loaded class
Bob Weinand [Sat, 20 Jun 2015 23:35:22 +0000 (01:35 +0200)]
Fix segfault with scalar passed to typehint with not loaded class

9 years agoLoad/restore VM stack before unfinished generator cleanup
Nikita Popov [Sat, 20 Jun 2015 17:09:07 +0000 (19:09 +0200)]
Load/restore VM stack before unfinished generator cleanup

9 years agoFix bad test (oops)
Bob Weinand [Sat, 20 Jun 2015 16:59:41 +0000 (18:59 +0200)]
Fix bad test (oops)

9 years agoAdd test for previous commit
Nikita Popov [Sat, 20 Jun 2015 16:38:46 +0000 (18:38 +0200)]
Add test for previous commit

9 years agoFix generator memory leak
Nikita Popov [Sat, 20 Jun 2015 16:35:27 +0000 (18:35 +0200)]
Fix generator memory leak

Make sure HANDLE_EXCEPTION and generator unwinds stay in sync in
the future by extracting a common function.

9 years agoFix potential writes into wrong memory, ensure vm_stack integrity
Bob Weinand [Sat, 20 Jun 2015 16:28:51 +0000 (18:28 +0200)]
Fix potential writes into wrong memory, ensure vm_stack integrity
Fixes also a segfault on stack frames > 1 << 18 bytes
Stack frames, when reallocated, need to be marked as top frame of current stack page

9 years agoClean up zend_hash_compare implementation
Nikita Popov [Sat, 20 Jun 2015 15:35:16 +0000 (17:35 +0200)]
Clean up zend_hash_compare implementation

Split off zend_hash_compare_impl into separate function that does
not bother with recursion protection. We had two cases where
UNPROTECT_RECURSION was missing.

9 years agoFix bug #69891
Nikita Popov [Sat, 20 Jun 2015 15:23:58 +0000 (17:23 +0200)]
Fix bug #69891

9 years agoFixed bug #69893
Nikita Popov [Sat, 20 Jun 2015 15:14:48 +0000 (17:14 +0200)]
Fixed bug #69893

9 years agoMerge branch 'PHP-5.6'
Nikita Popov [Sat, 20 Jun 2015 14:50:37 +0000 (16:50 +0200)]
Merge branch 'PHP-5.6'

Conflicts:
Zend/zend_hash.c

9 years agoMerge branch 'PHP-5.5' into PHP-5.6
Nikita Popov [Sat, 20 Jun 2015 14:40:27 +0000 (16:40 +0200)]
Merge branch 'PHP-5.5' into PHP-5.6

9 years agoFixed bug #69892
Nikita Popov [Sat, 20 Jun 2015 14:39:23 +0000 (16:39 +0200)]
Fixed bug #69892

9 years agoAdd missing NEWS entries
Kalle Sommer Nielsen [Sat, 20 Jun 2015 13:24:51 +0000 (15:24 +0200)]
Add missing NEWS entries

9 years agoFixed bug #69889
Nikita Popov [Sat, 20 Jun 2015 13:09:58 +0000 (15:09 +0200)]
Fixed bug #69889

There is one case that requires further discussion:

$foo = "test";
var_dump($foo[0.0] ?? "default");
var_dump(isset($foo[0.0]) ? $foo[0.0] : "default");

Here the former will currently return "t", while the latter also
returns "t" and additionally throws a notice.

I think we need to revisit the behavior of invalid types for string
offset access in PHP 7, as currently there is some mismatch between
what isset() does and what the access itself supports.

9 years agoFix bug #62922
Nikita Popov [Sat, 20 Jun 2015 12:38:03 +0000 (14:38 +0200)]
Fix bug #62922

Off by one error...

9 years agoAvoid unnecessary separations in VERIFY_RETURN_TYPE
Nikita Popov [Sat, 20 Jun 2015 11:57:37 +0000 (13:57 +0200)]
Avoid unnecessary separations in VERIFY_RETURN_TYPE

9 years agoDrop unnecessary %prec
Nikita Popov [Sat, 20 Jun 2015 11:10:51 +0000 (13:10 +0200)]
Drop unnecessary %prec

Leftover from a previous implementation

9 years agoupdated NEWS
Anatol Belski [Sat, 20 Jun 2015 07:33:37 +0000 (09:33 +0200)]
updated NEWS

9 years agoadd test for bug #69838
Anatol Belski [Sat, 20 Jun 2015 07:20:26 +0000 (09:20 +0200)]
add test for bug #69838

9 years agoFix bug #69838 OPCACHE Warning Internal error: wrong size calculation
Anatol Belski [Sat, 20 Jun 2015 07:18:00 +0000 (09:18 +0200)]
Fix bug #69838 OPCACHE Warning Internal error: wrong size calculation

This chunk is pre calculated with aligned size, so should it use it
at run time.

9 years agoMicro optimization
Xinchen Hui [Sat, 20 Jun 2015 02:48:18 +0000 (10:48 +0800)]
Micro optimization

9 years agoRemove unused var
Xinchen Hui [Sat, 20 Jun 2015 02:37:53 +0000 (10:37 +0800)]
Remove unused var

9 years agoThis test should be kept
Xinchen Hui [Fri, 19 Jun 2015 15:13:23 +0000 (23:13 +0800)]
This test should be kept

9 years agoBetter way to fix (Fix bug #69871 (short-circuiting failure with smart_branch))
Xinchen Hui [Fri, 19 Jun 2015 15:05:35 +0000 (23:05 +0800)]
Better way to fix (Fix bug #69871 (short-circuiting failure with smart_branch))

9 years agoRevert "Fix bug #69871 (short-circuiting failure with smart_branch)"
Xinchen Hui [Fri, 19 Jun 2015 15:03:23 +0000 (23:03 +0800)]
Revert "Fix bug #69871 (short-circuiting failure with smart_branch)"

This reverts commit fae6bedea5e094a1f6ddbd1a4453eaea340d1855.

9 years agoImprove strtr (Fixed a bug which the lenth check doesn't work at all)
Xinchen Hui [Fri, 19 Jun 2015 14:59:31 +0000 (22:59 +0800)]
Improve strtr (Fixed a bug which the lenth check doesn't work at all)

9 years agoRemove the references to imageps*() after the T1Lib removal (Noticed by Ferenc)
Kalle Sommer Nielsen [Fri, 19 Jun 2015 12:55:10 +0000 (14:55 +0200)]
Remove the references to imageps*() after the T1Lib removal (Noticed by Ferenc)

9 years agoFixed Bug #69883 (Compilation failed on PCRE)
Xinchen Hui [Fri, 19 Jun 2015 12:33:14 +0000 (20:33 +0800)]
Fixed Bug #69883 (Compilation failed on PCRE)

9 years agomore precise way to destroy iterator object
Anatol Belski [Fri, 19 Jun 2015 12:23:32 +0000 (14:23 +0200)]
more precise way to destroy iterator object

which also fixes the iterator_to_array test

9 years agoupdated NEWS
Anatol Belski [Fri, 19 Jun 2015 10:48:14 +0000 (12:48 +0200)]
updated NEWS

9 years agoadded test for bug #69846
Anatol Belski [Fri, 19 Jun 2015 10:46:19 +0000 (12:46 +0200)]
added test for bug #69846

9 years agobetter approach to fix bug #69846
Anatol Belski [Fri, 19 Jun 2015 09:22:12 +0000 (11:22 +0200)]
better approach to fix bug #69846

don't destroy the current iterator object too early

9 years agoMerge branch 'master' of git.php.net:php-src
Xinchen Hui [Fri, 19 Jun 2015 01:57:48 +0000 (09:57 +0800)]
Merge branch 'master' of git.php.net:php-src

9 years agoMicro optimizations for pcre
Xinchen Hui [Fri, 19 Jun 2015 01:56:42 +0000 (09:56 +0800)]
Micro optimizations for pcre

9 years agoFix memory leak (double copy) in SplPriorityQueue
Bob Weinand [Fri, 19 Jun 2015 01:42:52 +0000 (03:42 +0200)]
Fix memory leak (double copy) in SplPriorityQueue

9 years agoMerge branch 'PHP-5.6'
Xinchen Hui [Fri, 19 Jun 2015 01:36:27 +0000 (09:36 +0800)]
Merge branch 'PHP-5.6'

9 years agoMerge branch 'PHP-5.5' into PHP-5.6
Xinchen Hui [Fri, 19 Jun 2015 01:35:52 +0000 (09:35 +0800)]
Merge branch 'PHP-5.5' into PHP-5.6

9 years agoMerge branch 'patch-3' of https://github.com/s0ph1e/php-src into PHP-5.5
Xinchen Hui [Fri, 19 Jun 2015 01:35:28 +0000 (09:35 +0800)]
Merge branch 'patch-3' of https://github.com/s0ph1e/php-src into PHP-5.5

9 years agoMerge branch 'PHP-5.6'
Anatol Belski [Thu, 18 Jun 2015 20:05:07 +0000 (22:05 +0200)]
Merge branch 'PHP-5.6'

* PHP-5.6:
  update NEWS
  updated NEWS
  fixes bug #69835: phpinfo() does not report many Windows SKUs

9 years agoupdate NEWS
Anatol Belski [Thu, 18 Jun 2015 20:04:55 +0000 (22:04 +0200)]
update NEWS

9 years agoupdate NEWS
Anatol Belski [Thu, 18 Jun 2015 20:04:03 +0000 (22:04 +0200)]
update NEWS

9 years agoMerge branch 'PHP-5.5' into PHP-5.6
Anatol Belski [Thu, 18 Jun 2015 20:03:28 +0000 (22:03 +0200)]
Merge branch 'PHP-5.5' into PHP-5.6

* PHP-5.5:
  updated NEWS
  fixes bug #69835: phpinfo() does not report many Windows SKUs

9 years agoupdated NEWS
Anatol Belski [Thu, 18 Jun 2015 20:02:37 +0000 (22:02 +0200)]
updated NEWS

9 years agofixes bug #69835: phpinfo() does not report many Windows SKUs
Christian Wenz [Mon, 15 Jun 2015 13:12:40 +0000 (15:12 +0200)]
fixes bug #69835: phpinfo() does not report many Windows SKUs

9 years agopartial fix to bug #69846
Anatol Belski [Thu, 18 Jun 2015 18:17:04 +0000 (20:17 +0200)]
partial fix to bug #69846

9 years agoRemove excess variable in mail.c (5.5 branch)
Sophia Nepochataya [Thu, 18 Jun 2015 17:06:08 +0000 (20:06 +0300)]
Remove excess variable in mail.c (5.5 branch)

9 years agoMinor updates to EXTENSIONS for removed SAPIS etc that I remembered off my head,...
Kalle Sommer Nielsen [Thu, 18 Jun 2015 15:22:22 +0000 (17:22 +0200)]
Minor updates to EXTENSIONS for removed SAPIS etc that I remembered off my head, also add Côme as a maintainer for ldap as per request[1].

[1] http://news.php.net/php.internals/86747

9 years agoadd a freshly built pear/install-pear-nozlib.phar. created from the current stable...
Ferenc Kovacs [Tue, 16 Jun 2015 15:59:27 +0000 (17:59 +0200)]
add a freshly built pear/install-pear-nozlib.phar. created from the current stable branch of pear-core and using the trunk from PHP_Archive where the ereg_ calls are removed already

9 years agoMerge branch 'PHP-5.6'
Lior Kaplan [Thu, 18 Jun 2015 14:36:46 +0000 (17:36 +0300)]
Merge branch 'PHP-5.6'

* PHP-5.6:
  Fixed bug #69689 (Align PCRE_MINOR with current version)

9 years agoMerge branch 'PHP-5.5' into PHP-5.6
Lior Kaplan [Thu, 18 Jun 2015 14:35:54 +0000 (17:35 +0300)]
Merge branch 'PHP-5.5' into PHP-5.6

* PHP-5.5:
  Fixed bug #69689 (Align PCRE_MINOR with current version)

9 years agoMerge branch 'PHP-5.4' into PHP-5.5
Lior Kaplan [Thu, 18 Jun 2015 14:34:53 +0000 (17:34 +0300)]
Merge branch 'PHP-5.4' into PHP-5.5

* PHP-5.4:
  Fixed bug #69689 (Align PCRE_MINOR with current version)

9 years agoMerge branch 'master' of git.php.net:php-src
Xinchen Hui [Thu, 18 Jun 2015 14:30:01 +0000 (22:30 +0800)]
Merge branch 'master' of git.php.net:php-src

9 years agoFixed bug #69689 (Align PCRE_MINOR with current version)
Lior Kaplan [Thu, 18 Jun 2015 14:30:21 +0000 (17:30 +0300)]
Fixed bug #69689 (Align PCRE_MINOR with current version)

9 years agoFixed bug #69872 (uninitialised value in strtr with array)
Xinchen Hui [Thu, 18 Jun 2015 14:28:29 +0000 (22:28 +0800)]
Fixed bug #69872 (uninitialised value in strtr with array)

9 years agoFix bug #69871 (short-circuiting failure with smart_branch)
Bob Weinand [Thu, 18 Jun 2015 13:58:46 +0000 (15:58 +0200)]
Fix bug #69871 (short-circuiting failure with smart_branch)

9 years agoMerge branch 'PHP-5.6'
Lior Kaplan [Thu, 18 Jun 2015 13:57:04 +0000 (16:57 +0300)]
Merge branch 'PHP-5.6'

* PHP-5.6:
  Add CVE to bugs #69545, #69646 and #69667

9 years agoAdd CVE to bugs #69545, #69646 and #69667
Lior Kaplan [Thu, 18 Jun 2015 13:56:06 +0000 (16:56 +0300)]
Add CVE to bugs #69545, #69646 and #69667

9 years agoMerge branch 'PHP-5.5' into PHP-5.6
Lior Kaplan [Thu, 18 Jun 2015 13:52:51 +0000 (16:52 +0300)]
Merge branch 'PHP-5.5' into PHP-5.6

* PHP-5.5:
  Add CVE to bugs #69545, #69646 and #69667

9 years agoAdd CVE to bugs #69545, #69646 and #69667
Lior Kaplan [Thu, 18 Jun 2015 13:51:20 +0000 (16:51 +0300)]
Add CVE to bugs #69545, #69646 and #69667

9 years agoMerge branch 'PHP-5.4' into PHP-5.5
Lior Kaplan [Thu, 18 Jun 2015 12:50:11 +0000 (15:50 +0300)]
Merge branch 'PHP-5.4' into PHP-5.5

* PHP-5.4:
  Add CVE to bugs #69545, #69646 and #69667

9 years agoAdd CVE to bugs #69545, #69646 and #69667
Lior Kaplan [Thu, 18 Jun 2015 12:45:10 +0000 (15:45 +0300)]
Add CVE to bugs #69545, #69646 and #69667

9 years agoUpdate NEWS
Xinchen Hui [Thu, 18 Jun 2015 11:59:15 +0000 (19:59 +0800)]
Update NEWS

9 years agoFixed Conditional jump or move depends on uninitialised value(s)
Xinchen Hui [Thu, 18 Jun 2015 11:56:08 +0000 (19:56 +0800)]
Fixed Conditional jump or move depends on uninitialised value(s)

reproduced by Bug #69868's test script

9 years agoFixed bug #69868 (Invalid read of size 1 in zend_compile_short_circuiting)
Xinchen Hui [Thu, 18 Jun 2015 11:53:26 +0000 (19:53 +0800)]
Fixed bug #69868 (Invalid read of size 1 in zend_compile_short_circuiting)

9 years agoFixed typo
Xinchen Hui [Thu, 18 Jun 2015 05:22:39 +0000 (13:22 +0800)]
Fixed typo

9 years agoSeems UPGRADING is not merged...
Xinchen Hui [Thu, 18 Jun 2015 05:12:01 +0000 (13:12 +0800)]
Seems UPGRADING is not merged...

9 years agoAdd tests with invalid Error construction params
Aaron Piotrowski [Thu, 18 Jun 2015 00:49:02 +0000 (19:49 -0500)]
Add tests with invalid Error construction params

9 years agoFix bug when constructing an Error with invalid params
Aaron Piotrowski [Thu, 18 Jun 2015 00:48:17 +0000 (19:48 -0500)]
Fix bug when constructing an Error with invalid params

9 years agocleanup unused var
Anatol Belski [Wed, 17 Jun 2015 22:53:23 +0000 (00:53 +0200)]
cleanup unused var

9 years agofix c/p test title
Anatol Belski [Wed, 17 Jun 2015 22:33:16 +0000 (00:33 +0200)]
fix c/p test title

9 years agopreserve the orig class name when extending the ErrorException
Anatol Belski [Wed, 17 Jun 2015 22:30:16 +0000 (00:30 +0200)]
preserve the orig class name when extending the ErrorException

9 years agodont use function to fetch default exception ce
Anatol Belski [Wed, 17 Jun 2015 22:21:38 +0000 (00:21 +0200)]
dont use function to fetch default exception ce

9 years agomore tests
Anatol Belski [Wed, 17 Jun 2015 22:15:34 +0000 (00:15 +0200)]
more tests

9 years agofix crash when invalid exception arguments passed
Anatol Belski [Wed, 17 Jun 2015 22:14:57 +0000 (00:14 +0200)]
fix crash when invalid exception arguments passed

9 years agofix unknown size of void error
Anatol Belski [Wed, 17 Jun 2015 21:43:13 +0000 (23:43 +0200)]
fix unknown size of void error

9 years agoMerge branch 'PHP-5.6'
Sara Golemon [Wed, 17 Jun 2015 20:34:42 +0000 (13:34 -0700)]
Merge branch 'PHP-5.6'

* PHP-5.6:
  Fix buffer growth in sockets/conversion.c
  Implements extended error messages

9 years agoMerge branch 'PHP-5.5' into PHP-5.6
Sara Golemon [Wed, 17 Jun 2015 20:34:33 +0000 (13:34 -0700)]
Merge branch 'PHP-5.5' into PHP-5.6

* PHP-5.5:
  Fix buffer growth in sockets/conversion.c

9 years agoFix buffer growth in sockets/conversion.c
Sara Golemon [Wed, 17 Jun 2015 20:26:48 +0000 (13:26 -0700)]
Fix buffer growth in sockets/conversion.c

memset() the *end* of the new buffer, not the beginning
Copy the pointer to the buffer, not its initial contents

Fixes bug 69619

9 years agoFix #61362: Exception::getTraceAsString and ::__toString scramble Unicode
Christoph M. Becker [Wed, 17 Jun 2015 14:56:04 +0000 (16:56 +0200)]
Fix #61362: Exception::getTraceAsString and ::__toString scramble Unicode

The logic in smart_str_append_escaped() relies on unsigned values of c, so we
have to declare it as such.

9 years agoMerge branch 'pull-request/1284'
Anatol Belski [Wed, 17 Jun 2015 19:55:03 +0000 (21:55 +0200)]
Merge branch 'pull-request/1284'

* pull-request/1284:
  Rename interface macros
  Fix typo in UPGRADING
  Move definition of Throwable to zend_exceptions.h/c
  Check for zend_ce_throwable instead
  Fix some missed tests
  Add Throwable tests
  Fix previous exception type check
  Updated UPGRADING with RFC link
  Changed AssertionException to AssertionError
  Update exception error messages
  Throwable method signatures.
  Update exception names in tests after formatting changes.
  Merge exception formatting changes.
  Make zend_get_exception_base static.
  Fix a few missed tests.
  Fix handler double copy.
  Updated tests to reflect exception class changes.
  Remodel exceptions based on Throwable interface

9 years agoRename interface macros
Aaron Piotrowski [Wed, 17 Jun 2015 18:46:27 +0000 (13:46 -0500)]
Rename interface macros

Renamed REGISTER_INTERFACE (formerly
REGISTER_ITERATOR_INTERFACE) to
REGISTER_MAGIC_INTERFACE and renamed
REGISTER_ITERATOR_IMPLEMENT to
REGISTER_MAGIC_IMPLEMENT. Both have now been
moved to zend_interfaces.h.

9 years agoFix typo in UPGRADING
Aaron Piotrowski [Wed, 17 Jun 2015 18:28:27 +0000 (13:28 -0500)]
Fix typo in UPGRADING

9 years agoImplements extended error messages
Andreas Heigl [Tue, 5 May 2015 19:30:29 +0000 (21:30 +0200)]
Implements extended error messages

This commit introduces a new constant that can be used to retrieve more
detailed error messages.

This fixes #47222

The new constant LDAP_OPT_DIAGNOSTIC_MESSAGE is defined in PHP when the
underlying library provides (and understands) it. This is the case in
the current OpenLDAP-implementation.

Tanks to Johnny Willer who provided the solution at http://stackoverflow.com/questions/28765077/get-number-of-ad-errors-with-ldap-and-php-ldap-function-return-unprecise-error/28816473#28816473

9 years agoMerge branch 'master' of git.php.net:php-src
Xinchen Hui [Wed, 17 Jun 2015 13:17:04 +0000 (21:17 +0800)]
Merge branch 'master' of git.php.net:php-src

9 years agoMerge branch 'gitignore' of https://github.com/flaupretre/php-src
Xinchen Hui [Wed, 17 Jun 2015 13:14:44 +0000 (21:14 +0800)]
Merge branch 'gitignore' of https://github.com/flaupretre/php-src

9 years agoMerge branch 'PHP-5.6'
Côme Bernigaud [Wed, 17 Jun 2015 12:48:19 +0000 (14:48 +0200)]
Merge branch 'PHP-5.6'

* PHP-5.6:
  Replaced calls to deprecated openldap functions
  Fixed LDAP tests so that base can exists

Conflicts:
ext/ldap/ldap.c

9 years agoReplaced calls to deprecated openldap functions
Côme Bernigaud [Thu, 16 Apr 2015 15:11:38 +0000 (17:11 +0200)]
Replaced calls to deprecated openldap functions

ldap_unbind_s   -> ldap_unbind_ext
389             -> LDAP_PORT
ldap_init       -> ldap_initialize
ldap_bind_s     -> ldap_sasl_bind_s
ldap_value_free -> ber_memvfree
Also added ldap_is_ldap_url check

9 years agoFixed LDAP tests so that base can exists
Côme Bernigaud [Wed, 17 Jun 2015 11:47:32 +0000 (13:47 +0200)]
Fixed LDAP tests so that base can exists

Now you can set the base in the env var LDAP_TEST_BASE.
The base has to exists. (before tests were attempting to create/delete
the base itself)

9 years agoFixed LDAP tests so that base can exists
Côme Bernigaud [Wed, 17 Jun 2015 11:47:32 +0000 (13:47 +0200)]
Fixed LDAP tests so that base can exists

Now you can set the base in the env var LDAP_TEST_BASE.
The base has to exists. (before tests were attempting to create/delete
the base itself)

9 years agoadded regression test for bug #69840
Christoph M. Becker [Wed, 17 Jun 2015 11:40:19 +0000 (13:40 +0200)]
added regression test for bug #69840

9 years agoAdd missing path to .gitignore
Francois Laupretre [Wed, 17 Jun 2015 10:45:41 +0000 (12:45 +0200)]
Add missing path to .gitignore

9 years agoUse COW to prevent unnecessary duplication of dynamic propertyes of stdClass (and...
Dmitry Stogov [Wed, 17 Jun 2015 09:50:16 +0000 (12:50 +0300)]
Use COW to prevent unnecessary duplication of dynamic propertyes of stdClass (and other classes without predefined properties).