Merge branch 'PHP-7.4' into master

* PHP-7.4:
  Fix #48585: com_load_typelib holds reference, fails on second call
This commit is contained in:
Christoph M. Becker 2020-08-11 11:28:41 +02:00
commit 013dcab344
2 changed files with 3 additions and 7 deletions

View File

@ -244,7 +244,7 @@ PHP_METHOD(com, __construct)
TL = php_com_load_typelib_via_cache(typelib_name, obj->code_page, &cached);
if (TL) {
if (COMG(autoreg_on) && !cached) {
if (COMG(autoreg_on)) {
php_com_import_typelib(TL, mode, obj->code_page);
}
@ -834,9 +834,7 @@ PHP_FUNCTION(com_load_typelib)
php_com_initialize();
pTL = php_com_load_typelib_via_cache(name, codepage, &cached);
if (pTL) {
if (cached) {
RETVAL_TRUE;
} else if (php_com_import_typelib(pTL, cs ? CONST_CS : 0, codepage) == SUCCESS) {
if (php_com_import_typelib(pTL, cs ? CONST_CS : 0, codepage) == SUCCESS) {
RETVAL_TRUE;
}

View File

@ -115,9 +115,7 @@ static PHP_INI_MH(OnTypeLibFileUpdate)
}
if ((pTL = php_com_load_typelib_via_cache(typelib_name, COMG(code_page), &cached)) != NULL) {
if (!cached) {
php_com_import_typelib(pTL, mode, COMG(code_page));
}
php_com_import_typelib(pTL, mode, COMG(code_page));
ITypeLib_Release(pTL);
}
}