]> granicus.if.org Git - php/commitdiff
Fixed assertion (ext/opcache/zend_persist.c:327: zend_accel_get_type_map_ptr: Asserti...
authorDmitry Stogov <dmitry@zend.com>
Wed, 10 Mar 2021 14:39:26 +0000 (17:39 +0300)
committerDmitry Stogov <dmitry@zend.com>
Wed, 10 Mar 2021 14:39:26 +0000 (17:39 +0300)
ext/opcache/zend_persist.c

index 19bc1ce7adcd5ab6d643b0a15a4da6542f4117f7..1fb7281721883fc799e0091d7bb6c03032f44bc8 100644 (file)
@@ -323,8 +323,9 @@ uint32_t zend_accel_get_type_map_ptr(zend_string *type_name, zend_class_entry *s
 
        /* We use type.name.gc.refcount to keep map_ptr of corresponding type */
        if (ret <= 2) {
-               ret = (uint32_t)(uintptr_t)zend_map_ptr_new();
-               ZEND_ASSERT(ret > 2);
+               do {
+                       ret = (uint32_t)(uintptr_t)zend_map_ptr_new();
+               } while (ret <= 2);
                GC_SET_REFCOUNT(type_name, ret);
        }
        return ret;