Skip to content

Commit 5a31e14

Browse files
committed
Merge branch 'PHP-7.2'
* PHP-7.2: Fixed bug #76205 (PHP-FPM sporadic crash when running Infinitewp)
2 parents a8ec35a + 3fe2e2a commit 5a31e14

File tree

1 file changed

+26
-22
lines changed

1 file changed

+26
-22
lines changed

ext/opcache/zend_file_cache.c

Lines changed: 26 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -550,14 +550,13 @@ static void zend_file_cache_serialize_prop_info(zval *zv,
550550
prop = Z_PTR_P(zv);
551551
UNSERIALIZE_PTR(prop);
552552

553-
if (prop->ce && !IS_SERIALIZED(prop->ce)) {
553+
ZEND_ASSERT(prop->ce != NULL && prop->name != NULL);
554+
if (!IS_SERIALIZED(prop->ce)) {
554555
SERIALIZE_PTR(prop->ce);
555-
}
556-
if (prop->name && !IS_SERIALIZED(prop->name)) {
557556
SERIALIZE_STR(prop->name);
558-
}
559-
if (prop->doc_comment && !IS_SERIALIZED(prop->doc_comment)) {
560-
SERIALIZE_STR(prop->doc_comment);
557+
if (prop->doc_comment) {
558+
SERIALIZE_STR(prop->doc_comment);
559+
}
561560
}
562561
}
563562
}
@@ -574,12 +573,15 @@ static void zend_file_cache_serialize_class_constant(zval *z
574573
c = Z_PTR_P(zv);
575574
UNSERIALIZE_PTR(c);
576575

577-
zend_file_cache_serialize_zval(&c->value, script, info, buf);
578-
if (c->ce && !IS_SERIALIZED(c->ce)) {
576+
ZEND_ASSERT(c->ce != NULL);
577+
if (!IS_SERIALIZED(c->ce)) {
579578
SERIALIZE_PTR(c->ce);
580-
}
581-
if (c->doc_comment && !IS_SERIALIZED(c->doc_comment)) {
582-
SERIALIZE_STR(c->doc_comment);
579+
580+
zend_file_cache_serialize_zval(&c->value, script, info, buf);
581+
582+
if (c->doc_comment) {
583+
SERIALIZE_STR(c->doc_comment);
584+
}
583585
}
584586
}
585587
}
@@ -1179,14 +1181,13 @@ static void zend_file_cache_unserialize_prop_info(zval *zv,
11791181
UNSERIALIZE_PTR(Z_PTR_P(zv));
11801182
prop = Z_PTR_P(zv);
11811183

1182-
if (prop->ce && !IS_UNSERIALIZED(prop->ce)) {
1184+
ZEND_ASSERT(prop->ce != NULL && prop->name != NULL);
1185+
if (!IS_UNSERIALIZED(prop->ce)) {
11831186
UNSERIALIZE_PTR(prop->ce);
1184-
}
1185-
if (prop->name && !IS_UNSERIALIZED(prop->name)) {
11861187
UNSERIALIZE_STR(prop->name);
1187-
}
1188-
if (prop->doc_comment && !IS_UNSERIALIZED(prop->doc_comment)) {
1189-
UNSERIALIZE_STR(prop->doc_comment);
1188+
if (prop->doc_comment) {
1189+
UNSERIALIZE_STR(prop->doc_comment);
1190+
}
11901191
}
11911192
}
11921193
}
@@ -1201,12 +1202,15 @@ static void zend_file_cache_unserialize_class_constant(zval *
12011202
UNSERIALIZE_PTR(Z_PTR_P(zv));
12021203
c = Z_PTR_P(zv);
12031204

1204-
zend_file_cache_unserialize_zval(&c->value, script, buf);
1205-
if (c->ce && !IS_UNSERIALIZED(c->ce)) {
1205+
ZEND_ASSERT(c->ce != NULL);
1206+
if (!IS_UNSERIALIZED(c->ce)) {
12061207
UNSERIALIZE_PTR(c->ce);
1207-
}
1208-
if (c->doc_comment && !IS_UNSERIALIZED(c->doc_comment)) {
1209-
UNSERIALIZE_STR(c->doc_comment);
1208+
1209+
zend_file_cache_unserialize_zval(&c->value, script, buf);
1210+
1211+
if (c->doc_comment) {
1212+
UNSERIALIZE_STR(c->doc_comment);
1213+
}
12101214
}
12111215
}
12121216
}

0 commit comments

Comments
 (0)