summaryrefslogtreecommitdiff
path: root/ext
diff options
context:
space:
mode:
authorAntony Dovgal <tony2001@php.net>2006-11-29 11:12:59 +0000
committerAntony Dovgal <tony2001@php.net>2006-11-29 11:12:59 +0000
commit60bb49460729d199a512bbe3bbb26ca143a6a0f2 (patch)
treecdf08fd3100f67fbe8e12b5eb4844f33bbb84f0f /ext
parentd5d1801df7d9dcd1a3aeb886da83189dbe20437d (diff)
downloadphp-git-60bb49460729d199a512bbe3bbb26ca143a6a0f2.tar.gz
MFH: fix #39673 (file_get_contents causes bus error on certain offsets)
Diffstat (limited to 'ext')
-rw-r--r--ext/standard/tests/file/bug39673.phpt40
1 files changed, 40 insertions, 0 deletions
diff --git a/ext/standard/tests/file/bug39673.phpt b/ext/standard/tests/file/bug39673.phpt
new file mode 100644
index 0000000000..3836f2103d
--- /dev/null
+++ b/ext/standard/tests/file/bug39673.phpt
@@ -0,0 +1,40 @@
+--TEST--
+Bug #39673 (file_get_contents causes bus error on certain offsets)
+--FILE--
+<?php
+
+$str = str_repeat("test", 3456);
+
+$filename = dirname(__FILE__).'/bug39673.txt';
+file_put_contents($filename, $str);
+
+$offsets = array(
+ -1,
+ 0,
+ 3456*4,
+ 3456*4 - 1,
+ 3456*4 + 1,
+ 2000,
+ 5000,
+ 100000,
+);
+
+
+foreach ($offsets as $offset) {
+ $r = file_get_contents($filename, false, null, $offset);
+ var_dump(strlen($r));
+}
+
+@unlink($filename);
+echo "Done\n";
+?>
+--EXPECTF--
+int(13824)
+int(13824)
+int(0)
+int(1)
+int(0)
+int(11824)
+int(8824)
+int(0)
+Done