diff options
author | Christoph M. Becker <cmbecker69@gmx.de> | 2020-02-06 15:00:39 +0100 |
---|---|---|
committer | Christoph M. Becker <cmbecker69@gmx.de> | 2020-02-06 15:01:12 +0100 |
commit | 0d49cf4ed25e406f00abefca0e2e3e8fd919bf94 (patch) | |
tree | 8f76e8de6c94b5e9f59a1f4fca39b7978e174b28 /ext/com_dotnet | |
parent | 5d0ef4c239eb5a2c9e0d267c57bf71f7c562c575 (diff) | |
parent | 5e2ea00b1539d6003548f7698ece1f737c14fb51 (diff) | |
download | php-git-0d49cf4ed25e406f00abefca0e2e3e8fd919bf94.tar.gz |
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Fix #66322: COMPersistHelper::SaveToFile can save to wrong location
Diffstat (limited to 'ext/com_dotnet')
-rw-r--r-- | ext/com_dotnet/com_persist.c | 2 | ||||
-rw-r--r-- | ext/com_dotnet/tests/bug66322.phpt | 24 |
2 files changed, 25 insertions, 1 deletions
diff --git a/ext/com_dotnet/com_persist.c b/ext/com_dotnet/com_persist.c index 9be79995a3..f2d60c1e72 100644 --- a/ext/com_dotnet/com_persist.c +++ b/ext/com_dotnet/com_persist.c @@ -398,7 +398,7 @@ CPH_METHOD(SaveToFile) RETURN_FALSE; } - olefilename = php_com_string_to_olestring(filename, strlen(fullpath), helper->codepage); + olefilename = php_com_string_to_olestring(fullpath, strlen(fullpath), helper->codepage); efree(fullpath); } res = IPersistFile_Save(helper->ipf, olefilename, remember); diff --git a/ext/com_dotnet/tests/bug66322.phpt b/ext/com_dotnet/tests/bug66322.phpt new file mode 100644 index 0000000000..de37e4fa75 --- /dev/null +++ b/ext/com_dotnet/tests/bug66322.phpt @@ -0,0 +1,24 @@ +--TEST-- +Bug #66322 (COMPersistHelper::SaveToFile can save to wrong location) +--SKIPIF-- +<?php +if (!extension_loaded('com_dotnet')) die('skip com_dotnet extension not available'); +try { + new COM('Word.Application'); +} catch (com_exception $ex) { + die('skip MS Word not available'); +} +if (getenv("SKIP_SLOW_TESTS")) die('skip slow test'); +?> +--FILE-- +<?php +$w = new COM('Word.Application'); +$doc = $w->Documents->Add(); +$ph = new COMPersistHelper($doc); +$filename = __DIR__ . '\\..\\' . basename(__DIR__) . '\\66322.docx'; +$ph->SaveToFile($filename); +var_dump(file_exists($filename)); +$w->Quit(); +?> +--EXPECT-- +bool(true) |