summaryrefslogtreecommitdiff
path: root/ext/com_dotnet/tests
diff options
context:
space:
mode:
authorChristoph M. Becker <cmbecker69@gmx.de>2019-10-09 14:03:36 +0200
committerChristoph M. Becker <cmbecker69@gmx.de>2019-10-09 14:09:02 +0200
commit4625fa181fd5e1c9b3d8ef291c7003bf51a70512 (patch)
tree17cc82993429a5c66cdbec42acc98427df399a24 /ext/com_dotnet/tests
parent8b5c351154284a88152ee3d166a32dc77316a658 (diff)
downloadphp-git-4625fa181fd5e1c9b3d8ef291c7003bf51a70512.tar.gz
Fix #78650: new COM Crash
As of PHP 7.4.0, the `get_property_ptr_ptr` handler is mandatory; we implement it to always return `NULL`, which is equivalent to not setting the handler in former versions. We add a portable and faster test case than what has been presented in the bug ticket.
Diffstat (limited to 'ext/com_dotnet/tests')
-rw-r--r--ext/com_dotnet/tests/bug78650.phpt27
1 files changed, 27 insertions, 0 deletions
diff --git a/ext/com_dotnet/tests/bug78650.phpt b/ext/com_dotnet/tests/bug78650.phpt
new file mode 100644
index 0000000000..c362de95bb
--- /dev/null
+++ b/ext/com_dotnet/tests/bug78650.phpt
@@ -0,0 +1,27 @@
+--TEST--
+Bug #78650 (new COM Crash)
+--SKIPIF--
+<?php
+if (!extension_loaded('com_dotnet')) die('skip com_dotnet extension not available');
+?>
+--FILE--
+<?php
+$fname = __DIR__ . '/bug78650/foo/bar';
+mkdir($fname, 0777, true);
+
+$fso = new COM("Scripting.FileSystemObject");
+$folder = $fso->GetFolder($fname);
+$folder->ParentFolder->Name = 'baz';
+
+print('OK');
+?>
+--EXPECT--
+OK
+--CLEAN--
+<?php
+rmdir(__DIR__ . '/bug78650/baz/bar');
+rmdir(__DIR__ . '/bug78650/foo/bar');
+rmdir(__DIR__ . '/bug78650/baz');
+rmdir(__DIR__ . '/bug78650/foo');
+rmdir(__DIR__ . '/bug78650');
+?>