summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristoph M. Becker <cmbecker69@gmx.de>2020-07-10 15:43:32 +0200
committerChristoph M. Becker <cmbecker69@gmx.de>2020-07-20 14:43:29 +0200
commitb2e3fd1e691b1dc82aaaf4150461db97bd5acf4a (patch)
tree2cff4bac39b27bd90dce23db6752ca13663a7d6d
parent2c57378bd3725b82ac1217b636e21e3006b5ca03 (diff)
downloadphp-git-b2e3fd1e691b1dc82aaaf4150461db97bd5acf4a.tar.gz
Fix #63527: DCOM does not work with Username, Password parameter
We must not mix multibyte and wide character strings in the `COAUTHIDENTITY` structure. Using wide character strings throughout would have the advantage that the remote connection can be established regardless of the code page of the server, but that would more likely break BC, so we just drop the wide character string conversion of the username.
-rw-r--r--NEWS4
-rw-r--r--ext/com_dotnet/com_com.c2
2 files changed, 4 insertions, 2 deletions
diff --git a/NEWS b/NEWS
index 0aa1b695b5..3f1d6bd39c 100644
--- a/NEWS
+++ b/NEWS
@@ -14,7 +14,9 @@ PHP NEWS
- COM:
. Fixed bug #63208 (BSTR to PHP string conversion not binary safe). (cmb)
-
+ . Fixed bug #63527 (DCOM does not work with Username, Password parameter).
+ (cmb)
+
- Curl:
. Fixed bug #79741 (curl_setopt CURLOPT_POSTFIELDS asserts on object with
declared properties). (Nikita)
diff --git a/ext/com_dotnet/com_com.c b/ext/com_dotnet/com_com.c
index eb79ed76ff..2eeac4aaf2 100644
--- a/ext/com_dotnet/com_com.c
+++ b/ext/com_dotnet/com_com.c
@@ -133,7 +133,7 @@ PHP_FUNCTION(com_create_instance)
info.pwszName = php_com_string_to_olestring(server_name, server_name_len, obj->code_page);
if (user_name) {
- authid.User = php_com_string_to_olestring(user_name, -1, obj->code_page);
+ authid.User = (OLECHAR*)user_name;
authid.UserLength = (ULONG)user_name_len;
if (password) {