Fix bug #74832, crash in extension loading
authorJulien Pauli <jpauli@php.net>
Thu, 29 Jun 2017 18:22:21 +0000 (20:22 +0200)
committerJulien Pauli <jpauli@php.net>
Thu, 29 Jun 2017 18:22:21 +0000 (20:22 +0200)
Zend/zend_API.c

index 43c6209ba401504127c146c73a25de8a8ede5484..262429c79de3df6416f78879acd95e9186b85d61 100644 (file)
@@ -2028,17 +2028,19 @@ ZEND_API zend_module_entry* zend_register_module_ex(zend_module_entry *module) /
                zend_string_release(lcname);
                return NULL;
        }
-       zend_string_release(lcname);
        module = module_ptr;
        EG(current_module) = module;
 
        if (module->functions && zend_register_functions(NULL, module->functions, NULL, module->type)==FAILURE) {
+               zend_hash_del(&module_registry, lcname);
+               zend_string_release(lcname);
                EG(current_module) = NULL;
                zend_error(E_CORE_WARNING,"%s: Unable to register functions, unable to load", module->name);
                return NULL;
        }
 
        EG(current_module) = NULL;
+       zend_string_release(lcname);
        return module;
 }
 /* }}} */