~ubuntu-branches/ubuntu/gutsy/php5/gutsy

« back to all changes in this revision

Viewing changes to ext/standard/tests/file/bug39673.phpt

  • Committer: Bazaar Package Importer
  • Author(s): Martin Pitt, CVE-2007-0905, CVE-2007-0906, CVE-2007-0909, CVE-2007-0910
  • Date: 2007-02-20 17:54:46 UTC
  • mfrom: (1.1.6 upstream)
  • Revision ID: james.westby@ubuntu.com-20070220175446-nudqyuv0dfowel3r
Tags: 5.2.1-0ubuntu1
* New upstream security/bugfix release:
  - safe_mode & open_basedir bypasses inside the session extension
    [CVE-2007-0905]
  - multiple buffer overflows in various extensions and functions
    [CVE-2007-0906]
  - underflow in the internal sapi_header_op() function [CVE-2007-0907]
  - information disclosure in the wddx extension [CVE-2007-0908]
  - string format vulnerability in *print() functions on 64 bit systems
    [CVE-2007-0909]
  - possible clobbering of super-globals in several code paths
    [CVE-2007-0910]
* Adapted patches to new upstream release:
  - 006-debian_quirks.patch
  - 034-apache2_umask_fix.patch
  - 044-strtod_arm_fix.patch
* Drop 109-libdb4.4.patch: Obsolete, upstream now checks for db 4.5 and 4.4.
* Drop 114-zend_alloc.c_m68k_alignment.patch and
  115-zend_alloc.c_memleak.patch: Applied upstream.
* Add debian/patches/000upstream-str_ireplace_offbyone.patch:
  - Fix off-by-one in str_ireplace(), a regression introduced in 5.2.1.
  - Patch taken from upstream CVS:
    http://cvs.php.net/viewvc.cgi/php-src/ext/standard/string.c?r1=1.630&r2=1.631
  - CVE-2007-0911
* debian/control: Set Ubuntu maintainer.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
--TEST--
 
2
Bug #39673 (file_get_contents causes bus error on certain offsets)
 
3
--FILE--
 
4
<?php
 
5
 
 
6
$str = str_repeat("test", 3456);
 
7
 
 
8
$filename = dirname(__FILE__).'/bug39673.txt';
 
9
file_put_contents($filename, $str);
 
10
 
 
11
$offsets = array(
 
12
        -1,
 
13
        0,
 
14
        3456*4,
 
15
        3456*4 - 1,
 
16
        3456*4 + 1,
 
17
        2000,
 
18
        5000,
 
19
        100000,
 
20
);
 
21
 
 
22
 
 
23
foreach ($offsets as $offset) {
 
24
        $r = file_get_contents($filename, false, null, $offset);
 
25
        var_dump(strlen($r));
 
26
}
 
27
 
 
28
@unlink($filename);
 
29
echo "Done\n";
 
30
?>
 
31
--EXPECTF--     
 
32
int(13824)
 
33
int(13824)
 
34
int(0)
 
35
int(1)
 
36
int(0)
 
37
int(11824)
 
38
int(8824)
 
39
int(0)
 
40
Done