diff -ur bbcode-2.0.1/php_bbcode.c bbcode-2.0.1-7.3/php_bbcode.c --- bbcode-2.0.1/php_bbcode.c 2016-04-10 23:23:06.000000000 +0200 +++ bbcode-2.0.1-7.3/php_bbcode.c 2019-02-07 11:23:14.333754664 +0100 @@ -399,12 +399,21 @@ ZEND_HASH_FOREACH_STR_KEY_VAL(myht, key, data) { if (key && data != NULL) { tmp_ht = HASH_OF(data); + if (tmp_ht) { +#if PHP_VERSION_ID >= 70300 + GC_PROTECT_RECURSION(tmp_ht); +#else tmp_ht->u.v.nApplyCount++; - } +#endif + } _php_bbcode_add_element(parser, ZSTR_VAL(key), ZSTR_LEN(key), data TSRMLS_CC); if (tmp_ht) { - tmp_ht->u.v.nApplyCount--; +#if PHP_VERSION_ID >= 70300 + GC_UNPROTECT_RECURSION(tmp_ht); +#else + tmp_ht->u.v.nApplyCount--; +#endif } } } ZEND_HASH_FOREACH_END();