Commit Graph

7513 Commits

Author SHA1 Message Date
Michael M Slusarz
d9c034ee5e trailing ws 2013-06-16 16:04:24 -07:00
Michael M Slusarz
b5b0a53b09 Fix #64166: quoted-printable-encode stream filter incorrectly discarding whitespace
Second attempt: need to use lookaheadto determine whether to encode ws
2013-06-16 16:04:19 -07:00
Michael M Slusarz
600d6deef9 Fix #64166: quoted-printable-encode stream filter incorrectly discarding whitespace
If trailing whitespace on a line is detected, mark the linebreak as a
soft linebreak.
2013-06-16 16:04:14 -07:00
Anatol Belski
b6dd1ec60d fix test
breach introduced in ac40c0b562
2013-06-17 00:09:05 +02:00
Anatol Belski
ed2690477c Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  ensure the error_reporting level to get expected notice
2013-06-12 13:14:53 +02:00
Anatol Belski
cd1b44c4b6 ensure the error_reporting level to get expected notice 2013-06-12 13:13:48 +02:00
Stanislav Malyshev
ac40c0b562 Merge branch 'pull-request/341'
* pull-request/341: (23 commits)
  typofixes
2013-06-10 14:20:18 -07:00
Veres Lajos
04145dc2aa typo fixes (argument) 2013-06-10 13:36:17 -07:00
Veres Lajos
ed2e84e239 typo fixes (accommodate, parameter) 2013-06-10 13:36:03 -07:00
Anatol Belski
25cae37b13 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fixed bug #64934 Apache2 TS crash with get_browser()
2013-06-06 18:51:32 +02:00
Anatol Belski
1aee7ad636 Fixed bug #64934 Apache2 TS crash with get_browser()
In favour of reading the browscap.ini into a true global var
only once in MINIT, the price for that is to deep copy the
any data from it.
2013-06-06 18:49:04 +02:00
Stanislav Malyshev
efdeec3c0e Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  fix CVE-2013-2110 - use correct formula to calculate string size
2013-06-04 21:58:44 -07:00
Stanislav Malyshev
93e0d78ec6 fix CVE-2013-2110 - use correct formula to calculate string size 2013-06-04 21:56:33 -07:00
Anatol Belski
ec4388158d better fix for bug #64770 2013-05-04 12:19:52 +02:00
Anatol Belski
5c701d19ac better fix for bug #64770 2013-05-04 12:16:38 +02:00
Anatol Belski
aa4762572e Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fixed bug #64770 stream_select() fails with pipes
2013-05-03 17:03:16 +02:00
Anatol Belski
b1ea0b7a7a Fixed bug #64770 stream_select() fails with pipes
returned by proc_open() on Windows x64
2013-05-03 17:01:33 +02:00
Matt Ficken
5adf1be45d Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fix Test Bug #64714
2013-04-25 11:37:09 -07:00
Matt Ficken
bf5506f511 Fix Test Bug #64714 2013-04-25 11:34:57 -07:00
Stanislav Malyshev
84e5c8a0e2 update credits 2013-04-23 22:02:57 -07:00
Stanislav Malyshev
5e24a6e74d Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fix bug #64458 (dns_get_record result with string of length -1)
2013-04-23 21:45:49 -07:00
Stanislav Malyshev
18fdab5a09 Fix bug #64458 (dns_get_record result with string of length -1) 2013-04-23 21:43:35 -07:00
Anatol Belski
8febe2ad08 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fixed stream_socket_pair() on Windows x64 and
2013-04-22 18:59:11 +02:00
Anatol Belski
f082d6311b Fixed stream_socket_pair() on Windows x64 and
improved errorhandling in the socketpair() implementation.
2013-04-22 18:55:32 +02:00
Xinchen Hui
185e5e15ae s ,CURL_WRAPPERS_ENABLE,CURL_WRAPPERS_ENABLED, 2013-04-04 19:28:17 +08:00
ptarjan
99ad08f9a5 Fix #64572: Clean up after the test
Lets not leave stuff lying around.
2013-04-03 18:50:27 +08:00
Xinchen Hui
78a9489f6a Use new constant replace ugly trick 2013-04-03 10:12:49 +08:00
Xinchen Hui
72426a446d Skip test when --with-curlwrappers enabled. 2013-03-31 21:22:48 +08:00
Sergey Akbarov
1d4fcdff9f Fix bug #64433: does not follow redirects for non-3xx response codes 2013-03-30 21:22:30 -07:00
Veres Lajos
124a867b6a Typo fix (greater then => greater than) 2013-03-28 19:12:08 +08:00
Xinchen Hui
0fd3572f4e Fixed bug #64432 (more empty delimiter warning in strX methods) 2013-03-21 11:14:10 +08:00
Anatol Belski
90c8f16c3b Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Backported patch for #64370
2013-03-15 19:08:32 +01:00
Anatol Belski
b903d2d6cd Backported patch for #64370 2013-03-15 19:04:40 +01:00
Xinchen Hui
f52b2e6a65 Fixed bug #64354 (Unserialize array of objects whose class can't be autoloaded fail)
about the __sleep one, since php_serialize_* are all void function,
so,,only check exception at the very begining
2013-03-09 23:00:58 +08:00
Sara Golemon
c16d6befd4 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  http-stream test requires network connectivity
2013-02-21 03:21:49 -08:00
Sara Golemon
bc55a8eb9f http-stream test requires network connectivity 2013-02-21 03:21:23 -08:00
Stanislav Malyshev
5382e156f9 Fix bug #62524, only follow redirects in file streams for 3xx HTTP statuses 2013-01-29 00:27:35 -08:00
Xinchen Hui
86c1a26169 Merge fix of #62836 to ?.re, and regenerate ?.c 2013-01-21 11:35:22 +08:00
Gustavo Lopes
77ee200097 Fix bug #64011 (get_html_translation_table())
get_html_translation_table() with encoding ISO-8859-1 and HTMLENTITIES
was broken. Only entities for characters U+0000 to U+0040 were being
included in the result.
2013-01-18 12:10:27 +01:00
Anatoliy Belsky
9498cf6194 fixed build 2013-01-15 22:36:29 +01:00
Gustavo Lopes
93e35137aa Merge remote-tracking branch 'remotes/cataphract/strtr_wu94_54' into PHP-5.4
* remotes/cataphract/strtr_wu94_54:
  Fixed inconsequential bug in strtr()
  Remove _GNU_SOURCE, add local heap sort
  The compiler can figure this out
  Remove unused block
  strtr() with 2nd param array - optimization
  Refactoring, bugs & leaks
  Optimize strtr w/ 2nd arg array
2013-01-15 21:05:21 +01:00
Gustavo Lopes
930ef9ddd6 Fixed inconsequential bug in strtr() 2013-01-15 17:25:59 +01:00
Adam Harvey
b1bf524140 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Revert "Update fputcsv() to escape all characters equally."
2013-01-15 17:35:34 +08:00
Adam Harvey
c077074c13 Revert "Update fputcsv() to escape all characters equally."
On second thoughts, while the behaviour _is_ broken, this isn't the right fix.

This reverts commit 9b5cb0e805.
2013-01-15 17:33:54 +08:00
Adam Harvey
a4191b0aad Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Update fputcsv() to escape all characters equally.
2013-01-15 15:24:21 +08:00
Adam Harvey
9b5cb0e805 Update fputcsv() to escape all characters equally.
At present, backslashes have special case handling within fputcsv(): when one
is encountered within a field that's being escaped, escaping stops until the
next instance of the enclosure character is hit.  This can result in malformed
CSV.

Fixes bug #43225 (fputcsv incorrectly handles cells ending in \ followed by ").
2013-01-15 15:17:45 +08:00
Lars Strojny
bf9ad4e661 Support BITMAPV5HEADER in getimagesize(): https://en.wikipedia.org/wiki/BMP_file_format#DIB_header_.28bitmap_information_header.29 2013-01-14 18:52:38 +01:00
Gustavo Lopes
d7bac4f5ba Remove _GNU_SOURCE, add local heap sort 2013-01-14 17:06:52 +01:00
Gustavo Lopes
e5029ac40b The compiler can figure this out 2013-01-14 12:22:42 +01:00
Gustavo Lopes
93d1171c47 Remove unused block 2013-01-14 12:22:42 +01:00
Gustavo Lopes
cddbb98ada strtr() with 2nd param array - optimization
About a 1.25x speedup in my test script by writing the result string
only when a match is found and at the end instead of on each iteration.
2013-01-14 12:22:42 +01:00
Gustavo Lopes
2111ee3df5 Refactoring, bugs & leaks 2013-01-14 12:22:41 +01:00
Gustavo Lopes
ccf15cf2dc Optimize strtr w/ 2nd arg array
Fixes bug #63893: poor efficiency of strtr() using array with keys of
very different length.

The implementation is basically all new, which carries some risk with
it.

The algorithm is described in "A Fast Algorithm For Multi-Pattern
Searching" (1994) by Sun Wu and Udi Manber.
2013-01-14 12:22:41 +01:00
Remi Collet
f659ec108f Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fix test after fix for bug #63943 (Bad warning text from strpos() on empty needle) See commit c05ee74e7f
2013-01-10 11:17:53 +01:00
Remi Collet
dc9f0e70b7 Fix test after fix for bug #63943 (Bad warning text from strpos() on empty needle)
See commit c05ee74e7f
2013-01-10 11:14:38 +01:00
Xinchen Hui
15aaa9c660 Merge branch 'PHP-5.3' into PHP-5.4 2013-01-09 10:54:23 +08:00
Xinchen Hui
c05ee74e7f Fixed bug #63943 (Bad warning text from strpos() on empty needle) 2013-01-09 10:53:20 +08:00
Xinchen Hui
0a7395e009 Happy New Year 2013-01-01 16:28:54 +08:00
Xinchen Hui
a2045ff332 Happy New Year~ 2013-01-01 16:02:16 +08:00
Pierrick Charron
59a4514dc0 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fix test to work on every libcurl version
  - Fixed typo on "SKIPIF" (causing make test to abort on some systems)

Conflicts:
	tests/output/bug63377.phpt
2012-12-21 12:24:52 -05:00
Pierrick Charron
63659ce526 Fix test to work on every libcurl version 2012-12-21 12:19:54 -05:00
Anatoliy Belsky
e0ad33c24a Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  This test isn't supposed to pass on windows
2012-11-27 16:11:53 +01:00
Anatoliy Belsky
eff12e56b6 This test isn't supposed to pass on windows 2012-11-27 16:02:55 +01:00
Pierrick Charron
15ab75be8a Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fixed bug #63512 parse_ini_file() with INI_SCANNER_RAW removes quotes from value
2012-11-16 18:07:02 -05:00
Pierrick Charron
6dff07aa8c Fixed bug #63512 parse_ini_file() with INI_SCANNER_RAW removes quotes from value
Restore the old behavior but keep bug 51094 fixed
2012-11-16 18:04:14 -05:00
Antony Dovgal
f2bffdc2e4 fix bug #63369
(un)serialize() leaves dangling pointers, causes crashes
2012-10-26 16:41:14 +04:00
Gustavo Lopes
f8e26d95f2 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fix bug #63240 on stream_get_line()
2012-10-12 20:24:13 +02:00
Gustavo Lopes
76601c4fd1 Fix bug #63240 on stream_get_line()
stream_get_line() could contain the delimiter string if that string
had more than one character. The bug manifested itself when a read on
the stream ended with part of the delimiter string and the read after
would start with the rest of the delimiter string; provided that
the data of first read did not complete the max length result of the
call to stream_get_line() with the partial delimiter used in that max
length return. In that case, the delimiter will still appear in
the result, divided in two subsequent return values. That is not a bug.

See <http://www.mail-archive.com/internals@lists.php.net/msg61325.html>
2012-10-12 20:23:43 +02:00
Xinchen Hui
45e938ec34 Remove executable permission on phpt 2012-10-10 10:31:53 +08:00
Xinchen Hui
e081c55fb5 Merge branch 'PHP-5.3' into PHP-5.4 2012-10-10 10:31:31 +08:00
Xinchen Hui
610c7fbe7b Remove executable permission on phpt 2012-10-10 10:27:49 +08:00
Xinchen Hui
e4a8fa6a15 Merge branch 'PHP-5.3' into PHP-5.4 2012-10-09 13:29:51 +08:00
Xinchen Hui
6284ef112e Fixed bug #63236 (Executable permission on various source files) 2012-10-09 13:28:31 +08:00
Xinchen Hui
60a280936e Merge branch 'PHP-5.3' into PHP-5.4 2012-10-02 00:30:49 +08:00
Xinchen Hui
4f860a4412 Avoding superfluous function call 2012-10-02 00:28:38 +08:00
Xinchen Hui
af0c22537a Add test for #35895 2012-10-02 00:27:35 +08:00
Remi Collet
79db2855f7 Bug #63147: SKIP_ONLINE_TESTS, for getmxrr 2012-09-30 19:40:52 -07:00
Remi Collet
71c61921f3 Bug #63147: introduce SKIP_ONLINE_TESTS, for gethostbyname 2012-09-30 19:40:43 -07:00
Remi Collet
189b99aee1 gethostbyname_basic002.phpt is a duplicate to gethostbyname_error004.phpt 2012-09-30 19:40:36 -07:00
Stanislav Malyshev
bf064112b7 fix test and move to proper place 2012-09-30 19:24:42 -07:00
husman
491b1efacb Bug #63162 - parse_url does not matches password component 2012-09-30 19:20:37 -07:00
Xinchen Hui
8cdd6bc1e7 Merge branch 'PHP-5.3' into PHP-5.4 2012-09-24 19:47:28 +08:00
Xinchen Hui
2cbc4053ae Correct the test summary 2012-09-24 19:46:40 +08:00
Xinchen Hui
d9ad532050 Merge branch 'PHP-5.3' into PHP-5.4
Conflicts:
	ext/standard/tests/general_functions/bug60723.phpt
2012-09-24 11:00:58 +08:00
Xinchen Hui
923511d364 Fixed bug #60723 (error_log error time has changed to UTC ignoring default timezo)
Cherry pick to 5.3
2012-09-24 10:59:06 +08:00
Xinchen Hui
395d77c540 Fixed bug #60723 (error_log error time has changed to UTC ignoring default timezo) 2012-09-23 22:59:31 +08:00
Lars Strojny
ee172ce3cc Merging PR #116 2012-09-18 23:15:03 +02:00
Xinchen Hui
94582f9398 year++
missed the .re files in 5.3
2012-09-05 23:47:51 +08:00
Xinchen Hui
a3d078bd8f correct PHP version & year++ 2012-09-05 23:43:59 +08:00
Xinchen Hui
9d44ff640c Merge branch 'PHP-5.3' into PHP-5.4
Conflicts:
	ext/interbase/interbase.rc
2012-09-05 23:11:19 +08:00
Xinchen Hui
d64d9e3351 year++ 2012-09-05 23:08:05 +08:00
Lars Strojny
89948c7fbe Initializing optional argument description in assert() 2012-09-02 08:01:32 +02:00
Lars Strojny
e658a91b3d assert() user message
Added 2nd, optional, param to assert. When passed in it will be added
to the printed warnings and passed as a 4th param to a callback. PR 150
by Lonny Kapelushnik
2012-08-31 19:04:53 +02:00
Lars Strojny
aaa2eee4c0 Bug 62462: adjusting test 2012-08-21 10:09:05 +02:00
Lars Strojny
c54d73d54c Bug 62462: Prevent multibyte characters from being split between the lines
Merged from https://github.com/php/php-src/pull/120
2012-08-20 23:46:50 +02:00
Andrew Faulds
4ec29b945c relative-scheme 2012-08-19 22:16:07 -07:00
Andrew Faulds
36b88d77f2 bug #62844; relative URL schemes in parse_url() 2012-08-19 22:15:58 -07:00
Felipe Pena
d6e6db4501 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  - Value stored to var is never used
2012-08-19 14:50:52 -03:00
Felipe Pena
3dd256a67b - Value stored to var is never used 2012-08-19 14:50:49 -03:00
Felipe Pena
9d8d84ebdf Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  - Value stored to var is never used
2012-08-19 14:34:42 -03:00
Felipe Pena
50ab6c63a7 - Value stored to var is never used 2012-08-19 14:34:38 -03:00
Xinchen Hui
0b23da1c74 Fixed bug #62836 (Seg fault or broken object references on unserialize()) 2012-08-17 18:28:32 +08:00
Xinchen Hui
8848778a59 Merge fix e7535e06e6 to 5.3
thanks for reeze.xia@gmail.com notice this
2012-08-15 01:06:10 +08:00
Xinchen Hui
8091256948 Merge branch 'PHP-5.3' into PHP-5.4 2012-08-14 14:03:05 +08:00
Xinchen Hui
da14cdd6f3 Merge branch 'skip-memory-exhaust-tests' of https://github.com/reeze/php-src into PHP-5.3 2012-08-14 13:58:15 +08:00
Xinchen Hui
dda0565b53 Merge branch 'PHP-5.3' into PHP-5.4 2012-08-12 20:58:45 +08:00
Xinchen Hui
4970926e45 Fixed bug #62763 (register_shutdown_function and extending class) 2012-08-12 20:58:09 +08:00
Reeze Xia
0239437903 Skip tests reply on Zend MM turned on
Those two tests have expect memory exhausted fatal error
2012-08-11 00:34:37 +08:00
Stanislav Malyshev
4db70fd406 fix bug #40459 - make all stream funcs that create object call ctor 2012-08-07 22:59:12 -07:00
Lonny Kapelushnik
45f3322905 var_export outputs an E_WARNING when recursion is detected 2012-08-05 20:56:06 -07:00
Xinchen Hui
6fb9a6922d Merge branch 'PHP-5.3' into PHP-5.4
Conflicts:
	ext/standard/tests/file/realpath_cache.phpt
2012-08-02 19:23:04 +08:00
Xinchen Hui
9a690859f6 fix test due to float value 2012-08-02 19:14:06 +08:00
Xinchen Hui
e0c014dead Merge branch 'PHP-5.3' into PHP-5.4 2012-07-29 14:31:04 +08:00
Xinchen Hui
f419d614ba Sike test while there is no zend mm max_size guard 2012-07-29 14:30:01 +08:00
Felipe Pena
54cba5aa91 - Fixed ZTS build 2012-07-24 10:02:32 -03:00
Florian Anderiasch
ddc8d16245 Add syslog support to mail.log #62356
Patch by Michael Orlitzky
2012-07-24 14:31:30 +02:00
Xinchen Hui
ead076bac6 Fix test failed 2012-07-21 23:27:09 +08:00
Xinchen Hui
683b4f7a2b merge 9eb5cb6571 to 5.3 2012-07-21 00:46:32 +08:00
Xinchen Hui
b81b8bf77d this initialization is unnecessary anymore after commit 2d9d2cadad 2012-07-18 21:45:37 +08:00
Xinchen Hui
2d9d2cadad Fixed bug #62597 (segfault in php_stream_wrapper_log_error with ZTS build) 2012-07-18 20:16:27 +08:00
Xinchen Hui
11d0558928 skip for ZTS 2012-07-18 19:47:54 +08:00
Xinchen Hui
282a6659aa fix test (dos2unix, typo) 2012-07-18 19:25:22 +08:00
Xinchen Hui
41a9c681a0 fix test, the key may be a float value 2012-07-18 19:21:25 +08:00
Reeze Xia
b47d6b32ba Fix test fails: ext/standard/tests/general_functions/bug27678.phpt
After commit 3e62aae1, number_format() returns string with length,
but _php_math_number_format_ex_len() didn't set string length
on nan and inf. This cause segfault when destruct the return value.
2012-07-17 23:08:11 +02:00
Stanislav Malyshev
cfdccdb805 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Typofix in test-description
2012-07-14 22:08:19 -07:00
Jille Timmermans
86b4252c8e Typofix in test-description 2012-07-14 22:07:50 -07:00
Adam Gegotek
8b70dd202a Fixing up closing tag 2012-07-14 18:59:04 -07:00
Adam Gegotek
152f73f92a Testing variation on input parameters of http_build_query() function 2012-07-14 18:58:52 -07:00
Felipe Pena
0bff7cfadd - Fixed bug #62565 (Crashes due non-initialized internal properties_table) 2012-07-14 12:16:16 -03:00
Nikita Popov
5cf2f87fa7 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fix potential integer overflow in nl2br
  Fix potential integer overflow in bin2hex

Conflicts:
	ext/standard/string.c
2012-07-05 20:59:18 +02:00
Nikita Popov
157ddd9577 Fix potential integer overflow in nl2br
The buffer size was calculated manually, thus creating integer overflows
for very large inputs, e.g. nl2br(str_repeat("\n", 613566757)).

The code now uses safe_emalloc, thus making the code throw an error
instead of crashing.
2012-07-05 20:41:54 +02:00
Nikita Popov
88f46b162b Fix potential integer overflow in bin2hex
The code was already using safe_emalloc but did the multiplication in
the first argument, thus making the use of safe_emalloc pretty useless.

The *2 is now moved to the second argument.
2012-07-05 20:14:49 +02:00
Marc Easen
896ac689c9 Fixed the common misspelling of the word occurred (occured -> occurred) 2012-06-30 16:54:03 -07:00
Nikita Popov
d86b6ea35c Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fix some lengths in crypt()

Conflicts:
	ext/standard/crypt.c
2012-06-29 13:15:35 +02:00
Nikita Popov
e6cf7d7745 Fix some lengths in crypt()
Use salt_len_in instead of strlen(salt) or PHP_MAX_SALT_LEN, otherwise too
much memory will be allocated.

sha512 has a 86 character checksum, not 43. That probably was a copy&paste
from the sha256 code which indeed has 43.

The allocation also was using sizeof(char *), thus allocating 4 or 8 times
as much memory as necessary. The sizeof(char *) was removed in the 5.4
branch in b7a92c9 but forgotten on 5.3.

The memset 0 call was using PHP_MAX_SALT_LEN which can be smaller than the
output buffer and thus not zeroing out everything. Use the size of the
output buffer (needed) instead.
2012-06-29 13:11:43 +02:00
Anthony Ferrara
34ab5650bc Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fixed bug #62443 (Crypt SHA256/512 Segfaults With Malformed Salt)
2012-06-28 20:36:21 -04:00
Anthony Ferrara
7e8276ca68 Fixed bug #62443 (Crypt SHA256/512 Segfaults With Malformed Salt)
Fixed a memory allocation bug in crypt() SHA256/512 that can
cause segmentation faults when passed in salts with a null byte
early.
2012-06-28 20:00:03 -04:00
Moriyoshi Koizumi
91e1df704e Fix bug #62373 (serialize() generates wrong reference to the object) 2012-06-25 19:14:19 +09:00
Moriyoshi Koizumi
e427182279 Fix bug #62373 (serialize() generates wrong reference to the object) 2012-06-25 19:13:23 +09:00
Nikita Popov
ad641950b3 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fix memory allocation checks for base64 encode
2012-06-24 23:56:55 +02:00
Nikita Popov
5b3f4d25ea Fix memory allocation checks for base64 encode
base64_encode used safe_emalloc, but one of the arguments was derived from a
multiplication, thus making the allocation unsafe again.

There was a size check in place, but it was off by a factor of two as it
didn't account for the signedness of the integer type.

The unsafe allocation is not exploitable, but still causes funny behavior
when the sized overflows into a negative number.

To fix the issue the *4 factor is moved into the size argument (where it is
known to be safe), so safe_emalloc can carry out the multiplication.

The size check is removed as it doesn't really make sense once safe_emalloc
works correctly. (Would only cause base64_encode to silently return false
instead of throwing an error. Also could cause problems with other uses of
the base64 encoding API, which all don't check for a NULL return value.)

Furthermore the (length + 2) < 0 check is replaced with just length < 0.
Allowing lengths -2 and -1 doesn't make sense semantically and also is not
honored in the following code (negative length would access unallocated
memory.)

Actually the length < 0 check doesn't make sense altogether, but I left it
there just to be safe.
2012-06-24 23:32:50 +02:00
Johannes Schlüter
5e23a047ac Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Remove extra ;
2012-06-22 17:33:22 +02:00
Johannes Schlüter
a62d4e2c43 Remove extra ; 2012-06-22 17:32:46 +02:00
Pierrick Charron
494c170e6f Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fixed bug #51094 (parse_ini_file() with INI_SCANNER_RAW cuts a value that includes a semi-colon)
2012-06-07 17:45:43 +02:00
Pierrick Charron
fed5923dbc Fixed bug #51094 (parse_ini_file() with INI_SCANNER_RAW cuts a value that includes a semi-colon)
Modify the scanner to check if the first char of the raw data is an opening " in which case we
need to find the closing one. Otherwise just search for the next end of value char [\r\n;\000]
2012-06-07 17:44:20 +02:00
Xinchen Hui
7511f972fd Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Typofix in comment in proc_open.c
2012-05-30 14:43:55 +08:00
Jille Timmermans
a331f43f8c Typofix in comment in proc_open.c 2012-05-30 14:42:39 +08:00
Stanislav Malyshev
692b3bcd88 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  fix CVE-2012-2143
2012-05-29 23:08:04 -07:00
Stanislav Malyshev
aab49e934d fix CVE-2012-2143 2012-05-29 23:07:04 -07:00
Anatoliy Belsky
16a592b13a Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fixed bug #62149 Test Bug - ext/curl/tests/bug61948
  Fixed bug #62148 mail_skipif doesn't skip imap tests on Release Build
2012-05-25 10:52:38 +02:00