diff options
Diffstat (limited to '37.patch')
-rw-r--r-- | 37.patch | 51 |
1 files changed, 0 insertions, 51 deletions
diff --git a/37.patch b/37.patch deleted file mode 100644 index d46284b..0000000 --- a/37.patch +++ /dev/null @@ -1,51 +0,0 @@ -From eff65944b5ec420c0584d5209312f5a5be1a1bb2 Mon Sep 17 00:00:00 2001 -From: Remi Collet <remi@remirepo.net> -Date: Tue, 26 Jun 2018 12:27:09 +0200 -Subject: [PATCH] Fix for PHP 7.3 - Array/Object recursion protection - ---- - lua.c | 15 +++++++++++++++ - 1 file changed, 15 insertions(+) - -diff --git a/lua.c b/lua.c -index 310bf8f..22bc589 100755 ---- a/lua.c -+++ b/lua.c -@@ -430,6 +430,7 @@ int php_lua_send_zval_to_lua(lua_State *L, zval *val) /* {{{ */ { - zval zkey; - - HashTable *ht = HASH_OF(val); -+#if PHP_VERSION_ID < 70300 - if (ZEND_HASH_APPLY_PROTECTION(ht)) { - ZEND_HASH_INC_APPLY_COUNT(ht); - if (ZEND_HASH_GET_APPLY_COUNT(ht) > 1) { -@@ -437,6 +438,15 @@ int php_lua_send_zval_to_lua(lua_State *L, zval *val) /* {{{ */ { - ZEND_HASH_DEC_APPLY_COUNT(ht); - break; - } -+#else -+ if (!(GC_FLAGS(ht) & GC_IMMUTABLE)) { -+ if (GC_IS_RECURSIVE(ht)) { -+ php_error_docref(NULL, E_ERROR, "recursion found"); -+ break; -+ } else { -+ GC_PROTECT_RECURSION(ht); -+ } -+#endif - } - - lua_newtable(L); -@@ -452,8 +462,13 @@ int php_lua_send_zval_to_lua(lua_State *L, zval *val) /* {{{ */ { - lua_settable(L, -3); - } ZEND_HASH_FOREACH_END(); - -+#if PHP_VERSION_ID < 70300 - if (ZEND_HASH_APPLY_PROTECTION(ht)) { - ZEND_HASH_DEC_APPLY_COUNT(ht); -+#else -+ if (!(GC_FLAGS(ht) & GC_IMMUTABLE)) { -+ GC_UNPROTECT_RECURSION(ht); -+#endif - } - } - } |