summaryrefslogtreecommitdiff
path: root/ext/dba/tests
diff options
context:
space:
mode:
authorAdam Harvey <aharvey@php.net>2013-09-22 16:52:41 -0700
committerAdam Harvey <aharvey@php.net>2013-09-22 16:52:41 -0700
commita92a350ccef7b295a5d7d8404771ae9bb8f602d3 (patch)
tree8e1029502bc9febab2b62f4eb55b3e0ee49b521e /ext/dba/tests
parent3f64d35559241fa69b95052faaa4ae93e745c1c6 (diff)
parent30e0442c549bd20288ca8754daa0cdf24d98f055 (diff)
downloadphp-git-a92a350ccef7b295a5d7d8404771ae9bb8f602d3.tar.gz
Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4: Copy dba_*() keys before converting to string.
Diffstat (limited to 'ext/dba/tests')
-rw-r--r--ext/dba/tests/bug65708.phpt38
1 files changed, 38 insertions, 0 deletions
diff --git a/ext/dba/tests/bug65708.phpt b/ext/dba/tests/bug65708.phpt
new file mode 100644
index 0000000000..b77138f6ed
--- /dev/null
+++ b/ext/dba/tests/bug65708.phpt
@@ -0,0 +1,38 @@
+--TEST--
+Bug #65708 (dba functions cast $key param to string in-place, bypassing copy on write)
+--SKIPIF--
+<?php
+ require_once(dirname(__FILE__) .'/skipif.inc');
+?>
+--FILE--
+<?php
+
+error_reporting(E_ALL);
+
+require_once(dirname(__FILE__) .'/test.inc');
+
+$db = dba_popen($db_filename, 'c');
+
+$key = 1;
+$copy = $key;
+
+echo gettype($key)."\n";
+echo gettype($copy)."\n";
+
+dba_exists($key, $db);
+
+echo gettype($key)."\n";
+echo gettype($copy)."\n";
+
+dba_close($db);
+
+?>
+--CLEAN--
+<?php
+ require(dirname(__FILE__) .'/clean.inc');
+?>
+--EXPECT--
+integer
+integer
+integer
+integer