summaryrefslogtreecommitdiffstats
path: root/php-reg67072.patch
diff options
context:
space:
mode:
Diffstat (limited to 'php-reg67072.patch')
-rw-r--r--php-reg67072.patch26
1 files changed, 26 insertions, 0 deletions
diff --git a/php-reg67072.patch b/php-reg67072.patch
new file mode 100644
index 0000000..6905db8
--- /dev/null
+++ b/php-reg67072.patch
@@ -0,0 +1,26 @@
+diff --git a/ext/standard/var_unserializer.c b/ext/standard/var_unserializer.c
+index 003bac9..ed6a69c 100644
+--- a/ext/standard/var_unserializer.c
++++ b/ext/standard/var_unserializer.c
+@@ -396,7 +396,7 @@ static inline long object_common1(UNSERIALIZE_PARAMETER, zend_class_entry *ce)
+
+ (*p) += 2;
+
+- if (ce->serialize == NULL) {
++ if (ce->serialize == NULL || ZEND_INTERNAL_CLASS != ce->type) {
+ object_init_ex(*rval, ce);
+ } else {
+ /* If this class implements Serializable, it should not land here but in object_custom(). The passed string
+diff --git a/ext/standard/var_unserializer.re b/ext/standard/var_unserializer.re
+index b3f5d29..b5f092b 100644
+--- a/ext/standard/var_unserializer.re
++++ b/ext/standard/var_unserializer.re
+@@ -400,7 +400,7 @@ static inline long object_common1(UNSERIALIZE_PARAMETER, zend_class_entry *ce)
+
+ (*p) += 2;
+
+- if (ce->serialize == NULL) {
++ if (ce->serialize == NULL || ZEND_INTERNAL_CLASS != ce->type) {
+ object_init_ex(*rval, ce);
+ } else {
+ /* If this class implements Serializable, it should not land here but in object_custom(). The passed string