author | Michael Nestler <Michael.Nestler@Oracle.COM> |
Fri, 05 Jun 2015 09:47:02 -0700 | |
branch | s11-update |
changeset 4418 | 7ae5fd823a4b |
permissions | -rw-r--r-- |
4418
7ae5fd823a4b
PSARC 2015/255 Update PHP to version 5.6.8
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff
changeset
|
1 |
# Source: upstream |
7ae5fd823a4b
PSARC 2015/255 Update PHP to version 5.6.8
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff
changeset
|
2 |
# http://git.php.net/?p=php-src.git;a=patch;h=2c1e49075ba48d93439a9e79eae43d9f8469b832;hp=739adee1912176aacf351edc5751a02ded6ef1ec |
7ae5fd823a4b
PSARC 2015/255 Update PHP to version 5.6.8
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff
changeset
|
3 |
# Fixed in 5.6.9 |
7ae5fd823a4b
PSARC 2015/255 Update PHP to version 5.6.8
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff
changeset
|
4 |
|
7ae5fd823a4b
PSARC 2015/255 Update PHP to version 5.6.8
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff
changeset
|
5 |
From 2c1e49075ba48d93439a9e79eae43d9f8469b832 Mon Sep 17 00:00:00 2001 |
7ae5fd823a4b
PSARC 2015/255 Update PHP to version 5.6.8
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff
changeset
|
6 |
From: Stanislav Malyshev <[email protected]> |
7ae5fd823a4b
PSARC 2015/255 Update PHP to version 5.6.8
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff
changeset
|
7 |
Date: Wed, 29 Apr 2015 22:04:20 -0700 |
7ae5fd823a4b
PSARC 2015/255 Update PHP to version 5.6.8
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff
changeset
|
8 |
Subject: [PATCH 1/1] Fix bug #69453 - don't try to cut empty string |
7ae5fd823a4b
PSARC 2015/255 Update PHP to version 5.6.8
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff
changeset
|
9 |
|
7ae5fd823a4b
PSARC 2015/255 Update PHP to version 5.6.8
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff
changeset
|
10 |
--- |
7ae5fd823a4b
PSARC 2015/255 Update PHP to version 5.6.8
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff
changeset
|
11 |
ext/phar/tar.c | 2 +- |
7ae5fd823a4b
PSARC 2015/255 Update PHP to version 5.6.8
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff
changeset
|
12 |
ext/phar/tests/bug69453.phpt | 21 +++++++++++++++++++++ |
7ae5fd823a4b
PSARC 2015/255 Update PHP to version 5.6.8
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff
changeset
|
13 |
2 files changed, 22 insertions(+), 1 deletion(-) |
7ae5fd823a4b
PSARC 2015/255 Update PHP to version 5.6.8
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff
changeset
|
14 |
create mode 100644 ext/phar/tests/bug69453.phpt |
7ae5fd823a4b
PSARC 2015/255 Update PHP to version 5.6.8
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff
changeset
|
15 |
|
7ae5fd823a4b
PSARC 2015/255 Update PHP to version 5.6.8
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff
changeset
|
16 |
diff --git a/ext/phar/tar.c b/ext/phar/tar.c |
7ae5fd823a4b
PSARC 2015/255 Update PHP to version 5.6.8
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff
changeset
|
17 |
index c4a81fb..34ef0ef 100644 |
7ae5fd823a4b
PSARC 2015/255 Update PHP to version 5.6.8
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff
changeset
|
18 |
--- a/ext/phar/tar.c |
7ae5fd823a4b
PSARC 2015/255 Update PHP to version 5.6.8
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff
changeset
|
19 |
+++ b/ext/phar/tar.c |
7ae5fd823a4b
PSARC 2015/255 Update PHP to version 5.6.8
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff
changeset
|
20 |
@@ -434,7 +434,7 @@ bail: |
7ae5fd823a4b
PSARC 2015/255 Update PHP to version 5.6.8
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff
changeset
|
21 |
entry.filename_len = i; |
7ae5fd823a4b
PSARC 2015/255 Update PHP to version 5.6.8
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff
changeset
|
22 |
entry.filename = pestrndup(hdr->name, i, myphar->is_persistent); |
7ae5fd823a4b
PSARC 2015/255 Update PHP to version 5.6.8
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff
changeset
|
23 |
|
7ae5fd823a4b
PSARC 2015/255 Update PHP to version 5.6.8
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff
changeset
|
24 |
- if (entry.filename[entry.filename_len - 1] == '/') { |
7ae5fd823a4b
PSARC 2015/255 Update PHP to version 5.6.8
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff
changeset
|
25 |
+ if (i > 0 && entry.filename[entry.filename_len - 1] == '/') { |
7ae5fd823a4b
PSARC 2015/255 Update PHP to version 5.6.8
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff
changeset
|
26 |
/* some tar programs store directories with trailing slash */ |
7ae5fd823a4b
PSARC 2015/255 Update PHP to version 5.6.8
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff
changeset
|
27 |
entry.filename[entry.filename_len - 1] = '\0'; |
7ae5fd823a4b
PSARC 2015/255 Update PHP to version 5.6.8
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff
changeset
|
28 |
entry.filename_len--; |
7ae5fd823a4b
PSARC 2015/255 Update PHP to version 5.6.8
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff
changeset
|
29 |
diff --git a/ext/phar/tests/bug69453.phpt b/ext/phar/tests/bug69453.phpt |
7ae5fd823a4b
PSARC 2015/255 Update PHP to version 5.6.8
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff
changeset
|
30 |
new file mode 100644 |
7ae5fd823a4b
PSARC 2015/255 Update PHP to version 5.6.8
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff
changeset
|
31 |
index 0000000..4a2a37f |
7ae5fd823a4b
PSARC 2015/255 Update PHP to version 5.6.8
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff
changeset
|
32 |
--- /dev/null |
7ae5fd823a4b
PSARC 2015/255 Update PHP to version 5.6.8
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff
changeset
|
33 |
+++ b/ext/phar/tests/bug69453.phpt |
7ae5fd823a4b
PSARC 2015/255 Update PHP to version 5.6.8
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff
changeset
|
34 |
@@ -0,0 +1,21 @@ |
7ae5fd823a4b
PSARC 2015/255 Update PHP to version 5.6.8
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff
changeset
|
35 |
+--TEST-- |
7ae5fd823a4b
PSARC 2015/255 Update PHP to version 5.6.8
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff
changeset
|
36 |
+Phar: bug #69453: Memory Corruption in phar_parse_tarfile when entry filename starts with null |
7ae5fd823a4b
PSARC 2015/255 Update PHP to version 5.6.8
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff
changeset
|
37 |
+--SKIPIF-- |
7ae5fd823a4b
PSARC 2015/255 Update PHP to version 5.6.8
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff
changeset
|
38 |
+<?php if (!extension_loaded("phar")) die("skip"); ?> |
7ae5fd823a4b
PSARC 2015/255 Update PHP to version 5.6.8
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff
changeset
|
39 |
+--FILE-- |
7ae5fd823a4b
PSARC 2015/255 Update PHP to version 5.6.8
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff
changeset
|
40 |
+<?php |
7ae5fd823a4b
PSARC 2015/255 Update PHP to version 5.6.8
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff
changeset
|
41 |
+$fname = dirname(__FILE__) . '/bug69453.tar.phar'; |
7ae5fd823a4b
PSARC 2015/255 Update PHP to version 5.6.8
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff
changeset
|
42 |
+try { |
7ae5fd823a4b
PSARC 2015/255 Update PHP to version 5.6.8
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff
changeset
|
43 |
+$r = new Phar($fname, 0); |
7ae5fd823a4b
PSARC 2015/255 Update PHP to version 5.6.8
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff
changeset
|
44 |
+} catch(UnexpectedValueException $e) { |
7ae5fd823a4b
PSARC 2015/255 Update PHP to version 5.6.8
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff
changeset
|
45 |
+ echo $e; |
7ae5fd823a4b
PSARC 2015/255 Update PHP to version 5.6.8
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff
changeset
|
46 |
+} |
7ae5fd823a4b
PSARC 2015/255 Update PHP to version 5.6.8
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff
changeset
|
47 |
+?> |
7ae5fd823a4b
PSARC 2015/255 Update PHP to version 5.6.8
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff
changeset
|
48 |
+ |
7ae5fd823a4b
PSARC 2015/255 Update PHP to version 5.6.8
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff
changeset
|
49 |
+==DONE== |
7ae5fd823a4b
PSARC 2015/255 Update PHP to version 5.6.8
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff
changeset
|
50 |
+--EXPECTF-- |
7ae5fd823a4b
PSARC 2015/255 Update PHP to version 5.6.8
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff
changeset
|
51 |
+exception 'UnexpectedValueException' with message 'phar error: "%s/bug69453.tar.phar" is a corrupted tar file (checksum mismatch of file "")' in %s:%d |
7ae5fd823a4b
PSARC 2015/255 Update PHP to version 5.6.8
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff
changeset
|
52 |
+Stack trace: |
7ae5fd823a4b
PSARC 2015/255 Update PHP to version 5.6.8
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff
changeset
|
53 |
+#0 %s/bug69453.php(%d): Phar->__construct('%s', 0) |
7ae5fd823a4b
PSARC 2015/255 Update PHP to version 5.6.8
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff
changeset
|
54 |
+#1 {main} |
7ae5fd823a4b
PSARC 2015/255 Update PHP to version 5.6.8
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff
changeset
|
55 |
+==DONE== |
7ae5fd823a4b
PSARC 2015/255 Update PHP to version 5.6.8
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff
changeset
|
56 |
\ No newline at end of file |
7ae5fd823a4b
PSARC 2015/255 Update PHP to version 5.6.8
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff
changeset
|
57 |
-- |
7ae5fd823a4b
PSARC 2015/255 Update PHP to version 5.6.8
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff
changeset
|
58 |
2.1.4 |
7ae5fd823a4b
PSARC 2015/255 Update PHP to version 5.6.8
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff
changeset
|
59 |