diff options
author | Christoph M. Becker <cmbecker69@gmx.de> | 2020-08-11 11:28:41 +0200 |
---|---|---|
committer | Christoph M. Becker <cmbecker69@gmx.de> | 2020-08-11 11:28:41 +0200 |
commit | 013dcab34443c102bfabf2c48a5d9c79cafe660e (patch) | |
tree | 469da663100efd6b7eba4c271a4389189336822e | |
parent | dd858460bb7ad230449fa9643e1206b74b6355de (diff) | |
parent | 183b853dc636883d4fb8134dcd39958dc628389e (diff) | |
download | php-git-013dcab34443c102bfabf2c48a5d9c79cafe660e.tar.gz |
Merge branch 'PHP-7.4' into master
* PHP-7.4:
Fix #48585: com_load_typelib holds reference, fails on second call
-rw-r--r-- | ext/com_dotnet/com_com.c | 6 | ||||
-rw-r--r-- | ext/com_dotnet/com_extension.c | 4 |
2 files changed, 3 insertions, 7 deletions
diff --git a/ext/com_dotnet/com_com.c b/ext/com_dotnet/com_com.c index b024f092f5..a279869d28 100644 --- a/ext/com_dotnet/com_com.c +++ b/ext/com_dotnet/com_com.c @@ -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; } diff --git a/ext/com_dotnet/com_extension.c b/ext/com_dotnet/com_extension.c index 73b70f07ab..28909bee87 100644 --- a/ext/com_dotnet/com_extension.c +++ b/ext/com_dotnet/com_extension.c @@ -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); } } |