Commit Graph

9083 Commits

Author SHA1 Message Date
Anatol Belski
88ca46d92b fix datatype mismatches 2014-10-23 11:45:44 +02:00
Anatol Belski
f010efc924 fix datatype mismatches 2014-10-23 11:36:34 +02:00
Anatol Belski
91652cf3c7 fix datatype mismatches 2014-10-23 11:05:47 +02:00
Anatol Belski
451065a434 fix datatype mismatches 2014-10-23 10:30:05 +02:00
Anatol Belski
0413a6e7a3 fix datatype mismatches 2014-10-23 10:30:04 +02:00
Anatol Belski
c448023bd0 fix datatype mismatches 2014-10-23 10:30:03 +02:00
Anatol Belski
a61f6ab737 fix datatype mismatches 2014-10-23 10:30:02 +02:00
Anatol Belski
50cc4abbf7 fix datatype mismatch 2014-10-23 10:30:00 +02:00
Anatol Belski
303973f076 fix datatype mismatches 2014-10-23 10:29:59 +02:00
Anatol Belski
ddaae1a02c fix datatype mismatch 2014-10-23 10:29:58 +02:00
Anatol Belski
e91b669e23 catch up with the latest key length change 2014-10-23 10:29:55 +02:00
Anatol Belski
958c6d1c5d fix datatype mismatch warning 2014-10-22 20:46:35 +02:00
Anatol Belski
afb65adefa fix datatype mismatches 2014-10-22 20:46:34 +02:00
Anatol Belski
0565a29e4d fix datatype mismatches 2014-10-22 20:46:33 +02:00
Anatol Belski
58b8227240 fix assert, zero diff would be valid, too 2014-10-22 20:46:32 +02:00
Anatol Belski
5b4b0f8368 fix datatype mismatch warning 2014-10-22 20:46:31 +02:00
Anatol Belski
1a727e519b fix datatype mismatch warnings 2014-10-22 20:46:30 +02:00
Anatol Belski
b80853d942 fix datatype mismatches 2014-10-22 20:46:29 +02:00
Anatol Belski
a5e4f1f598 fix several datatype mismatches 2014-10-22 17:56:30 +02:00
Anatol Belski
cccd538512 fix dir separator in test 2014-10-22 17:56:29 +02:00
Anatol Belski
f58edcd996 fix datatype warnings 2014-10-22 17:56:28 +02:00
Anatol Belski
09a01a834e this should be uint32 2014-10-22 17:56:26 +02:00
Anatol Belski
36ce467402 fix datatype mismatches 2014-10-22 17:56:25 +02:00
Anatol Belski
1ea5982d07 fixing datatype mismatches 2014-10-22 17:56:23 +02:00
Anatol Belski
80163b4a2b fix datatype mismatch warnings 2014-10-22 17:56:21 +02:00
Anatol Belski
2a7f9dcf5b fix datatype mismatch and warning 2014-10-22 17:56:20 +02:00
Anatol Belski
944d2c65e1 fix datatype mismatches 2014-10-22 17:56:19 +02:00
Anatol Belski
f37b4cdb8f use zend_bool where zend_long isn't needed
spare at least 24 bytes per globals item on 64 bit
2014-10-22 17:56:18 +02:00
Xinchen Hui
f03100cb80 Better convert 2014-10-22 17:25:41 +08:00
Xinchen Hui
baddb1c73a Extra comma 2014-10-21 11:02:15 +08:00
Anatol Belski
83b8e281db Merge remote-tracking branch 'origin/master' into native-tls
* origin/master:
  Don't make difference between undefined and unaccessible properies when call __get() and family
  Don't make useless CSE
  array_pop/array_shift optimization
2014-10-17 13:58:47 +02:00
Dmitry Stogov
35dc0a2e30 array_pop/array_shift optimization 2014-10-17 12:30:27 +04:00
Anatol Belski
2942a4aa45 Merge remote-tracking branch 'origin/master' into native-tls
* origin/master:
  check for zlib headers as well as lib for mysqlnd
  a realpath cache key can be int or float, catching this
  TLS 1.0, 1.1 and 1.2 Curl constants - bug #68247
  Micro optimizations for isset/empty
  Micro optimization for zend_hash_next_index_insert_new()
  Fix array_keys() on $GLOBALS
  Fix procedural finfo calls in methods

Conflicts:
	ext/mysqlnd/config.w32
2014-10-17 10:13:08 +02:00
Anatol Belski
35d703d00a a realpath cache key can be int or float, catching this 2014-10-17 10:09:39 +02:00
Nikita Popov
fc6ce7d1c1 Fix array_keys() on $GLOBALS 2014-10-16 14:44:35 +02:00
Anatol Belski
d6d856b6db Merge remote-tracking branch 'origin/master' into native-tls
* origin/master:
  Fixed ext/standard/tests/strings/pack64_32.phpt failure (In PHP7, we must not free array of arguments recieved using "+")
2014-10-15 12:09:14 +02:00
Dmitry Stogov
52b93004d0 Fixed ext/standard/tests/strings/pack64_32.phpt failure (In PHP7, we must not free array of arguments recieved using "+") 2014-10-15 12:38:04 +04:00
Anatol Belski
c00424e427 bring back all the TSRMLS_FETCH() stuff
for better comparability with the mainstream
2014-10-15 09:37:55 +02:00
Anatol Belski
382f95e612 Merge remote-tracking branch 'origin/master' into native-tls
* origin/master: (25 commits)
  Fix return code (merges are hard :( )
  fix bad merge
  Fix bug #68113 (Heap corruption in exif_thumbnail())
  Fix bug #68089 - do not accept options with embedded \0
  Fixed bug #68044: Integer overflow in unserialize() (32-bits only)
  Fix bug #68027 - fix date parsing in XMLRPC lib
  Fix bug #68113 (Heap corruption in exif_thumbnail())
  Fix bug #68089 - do not accept options with embedded \0
  Fixed bug #68044: Integer overflow in unserialize() (32-bits only)
  Fix bug #68027 - fix date parsing in XMLRPC lib
  Fix bug #68113 (Heap corruption in exif_thumbnail())
  Fix bug #68089 - do not accept options with embedded \0
  Fixed bug #68044: Integer overflow in unserialize() (32-bits only)
  Fix bug #68027 - fix date parsing in XMLRPC lib
  Fixed bug #68128
  Added API function to retrive current custom heap handlers
  update NEWS and UPGRADING
  Allow to substitute storage layer in memory manager.
  Upated NEWS
  Address issues raised by @nikic
  ...
2014-10-15 08:32:54 +02:00
Stanislav Malyshev
3eb679b952 Fixed bug #68044: Integer overflow in unserialize() (32-bits only) 2014-10-14 10:51:24 -07:00
Stanislav Malyshev
88eb7ea47d Fixed bug #68044: Integer overflow in unserialize() (32-bits only) 2014-10-14 10:44:57 -07:00
Stanislav Malyshev
9aa9014523 Fixed bug #68044: Integer overflow in unserialize() (32-bits only) 2014-10-14 10:43:13 -07:00
Anatol Belski
e1cd0e0a38 Merge remote-tracking branch 'origin/master' into native-tls
* origin/master: (40 commits)
  int to size_t where the underlaying API supports it
  use php_socket_t instead of int
  fix signed/unsigned mismatch warning
  fix compilation warning
  Improved specialisation $this variable accessed through IS_UNUSED operand must be IS_OBJECT, so we don't have to check for its type or perform dereference.
  Add notes about get_class_entry/get_class_name to UPGRADING
  Fix casts in GD
  Drop redundant casting code from ext/filter
  update NEWS
  update NEWS
  update NEWS
  update NEWS
  Added note to UPGRADING regarding 64-bit support in pack()/unpack()
  pack(): Use SIZEOF_ZEND_LONG instead of SIZEOF_LONG
  Add 64 bit formats to pack() and unpack()
  Help to CPU branch predictor
  Removed unused EG(orig_error_reporting)
  Update get_class_name semantics
  Remove Z_OBJ_CLASS_NAME_P
  Improved VM stack primitives for fast paths. Slow paths are not inlined anymore.
  ...
2014-10-10 22:51:13 +02:00
Anatol Belski
6445c4bd48 use php_socket_t instead of int 2014-10-10 19:00:19 +02:00
Tjerk Meesters
2a765d313e pack(): Use SIZEOF_ZEND_LONG instead of SIZEOF_LONG 2014-10-10 07:20:10 +08:00
Tjerk Meesters
284358b317 Merge branch 'PHP-5.6'
* PHP-5.6:
  Add 64 bit formats to pack() and unpack()
2014-10-10 07:05:36 +08:00
Leigh
63fd969300 Add 64 bit formats to pack() and unpack() 2014-10-09 21:02:42 +01:00
Nikita Popov
df79b9b27a Update get_class_name semantics
* get_class_name is now only used for displaying the class name
   in debugging functions like var_dump, print_r, etc. It is no
   longer used in get_class() etc.
 * As it is no longer used in get_parent_class() the parent
   argument is now gone. This also fixes incorrect parent classes
   being reported in COM.
 * get_class_name is now always required (previously some places
   made it optional and some required it) and is also required
   to return a non-NULL value.
 * Remove zend_get_object_classname. This also fixes a number of
   potential leaks due to incorrect usage of this function.
2014-10-09 20:48:27 +02:00
Nikita Popov
e5e9d8346f Remove zend_get_class_entry function 2014-10-09 14:17:30 +02:00
Nikita Popov
ee5b30fa19 Remove support for classes without class entries
get_class_entry must be non-NULL and return non-NULL.
2014-10-09 13:58:14 +02:00
Nikita Popov
a3b880364f Directly use zend_string for php_implode/php_explode
Also drop some unnecessary zval separations and copies
2014-10-09 12:05:56 +02:00
Tjerk Meesters
78156520ae Merge branch 'PHP-5.6'
* PHP-5.6:
  Updated NEWS for #68129
  Updated NEWS for #68129
  Fixed bug #68129
2014-10-09 08:24:58 +08:00
Tjerk Meesters
f92c9b3ced Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Updated NEWS for #68129
  Fixed bug #68129
2014-10-09 08:24:05 +08:00
Tjerk Meesters
d0e51f5ce9 Fixed bug #68129
Empty usernames and passwords are now treated differently from no username or password

For example, empty password:

    ftp://user:@example.org

Empty username:

    ftp://:password@example.org

Empty username and empty password

    ftp://:@example.org
2014-10-09 08:21:30 +08:00
Leigh
f66013df94 Apply error-code-salt fix to Windows too 2014-10-07 13:12:38 +01:00
Leigh
4e8c876120 Bug fixes in light of failing bcrypt tests 2014-10-07 12:27:57 +01:00
Leigh
a0420a72af Add tests from 1.3. Add missing tests.
3 of the missing tests fail. // TODO
2014-10-07 11:50:36 +01:00
Leigh
e331f9af73 Upgrade crypt_blowfish to version 1.3 2014-10-07 11:23:24 +01:00
Anatol Belski
b946348969 enable static tsrm ls cache in ext/standard 2014-10-05 19:49:41 +02:00
Anatol Belski
11cf279196 Merge remote-tracking branch 'origin/master' into native-tls
* origin/master:
  Fix test gc_029_zts.phpt
  Fixed a bug that causes crash when environment variable is access while parsing php.ini
  fix asinh delivering -0 when the arg is 0
  Mark test for full GC root buffer as XFAIL
  Fix two date tests
  Mark three foreach tests as XFAIL
  reveal some newer libcurl features in MINFO
  Fix bug number
  Fix bug #68188
  Fix bug #68133 and bug #68135
2014-10-04 11:14:01 +02:00
Anatol Belski
e9b2340151 fix asinh delivering -0 when the arg is 0 2014-10-03 22:18:21 +02:00
Anatol Belski
ee4ae7fbc3 Merge remote-tracking branch 'origin/master' into native-tls
* origin/master:
  remove the remains of dsp files handling
  fix EX usage
  remove misprint parentheses
  remove misprint parentheses
  Replaced EG(This) and EX(object) with EX(This). Internal functions now recieves zend_execute_data as the first argument.
  And this one...
  It should be in extern c
  Remove useless condition
  NEWS entry for previous commit
  NEWS entry for previous commit
  add IPv6 support to php-fpm
  Micro optimization for the most frequency case
  Add hash to EXTENSIONS file
  Remove extensions which are long gone
  we also have xz release tarballs since 5.5
  Fix ZTS build
  improved file size computation in stat()
  Fixed incorrect compilation
  5.5.19 now
2014-10-03 20:30:49 +02:00
Dmitry Stogov
bd9a234645 Replaced EG(This) and EX(object) with EX(This).
Internal functions now recieves zend_execute_data as the first argument.
2014-10-03 19:32:46 +04:00
Anatol Belski
f5292fbe51 Merge remote-tracking branch 'origin/master' into native-tls
* origin/master:
  Expose zend_throw_exception_internal()
  Use inline finction for OBJ_RELEASE() macro
  update NEWS about the release date of 5.6.1
  only no_NO.ISO-8859-1 have to be ignored
  remove bogus locale use from test
  use $PHP_LIBDIR instread of "lib" in skel example
  Removed zend_execute_data->prev_nested_call. Reuse prev_execute_data instead.
2014-10-01 22:05:51 +02:00
Remi Collet
26a5627cc6 only no_NO.ISO-8859-1 have to be ignored (merged) 2014-10-01 10:15:13 +02:00
Remi Collet
3e6f176733 only no_NO.ISO-8859-1 have to be ignored 2014-10-01 10:14:14 +02:00
krakjoe
7cbd8f8b8a remove bogus locale use from test 2014-10-01 10:12:06 +02:00
Anatol Belski
d624b0d5eb Merge remote-tracking branch 'origin/master' into native-tls
* origin/master: (26 commits)
  Micro optimization
  Drop unused INIT_STRING opcode
  Drop unused RAISE_ABSTRACT_ERROR opcode
  CT substitute unqualified true/false/null in namespaces
  Fix a couple compile warnings
  fix test filename
  one more test to illustrate transfer of an arbitrary data amount throug pipes
  fix tests on linux
  better test cleanup
  Use more readable inline functions
  increase the polling period to not to break existing behaviours
  updated NEWS
  Fixed bug #51800 proc_open on Windows hangs forever
  Fixed segfault
  Set an LDAP error code when failing ldap_bind due to null bytes
  Fix segmentation fault in debug_backtrace()
  Drop support for GMP 4.1
  Make gmp_setbit and gmp_clrbit return values consistent
  removed *.dsw and *.dsp files
  Opcache compatibility for coalesce operator
  ...
2014-10-01 01:33:46 +02:00
Nikita Popov
142a01db92 Fix a couple compile warnings 2014-09-29 20:57:17 +02:00
Anatol Belski
e46187daf5 Merge branch 'PHP-5.6'
* PHP-5.6:
  fix test filename
2014-09-29 20:31:02 +02:00
Anatol Belski
df4d559881 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  fix test filename
2014-09-29 20:30:43 +02:00
Anatol Belski
7f1239232e fix test filename 2014-09-29 20:30:18 +02:00
Anatol Belski
a81a392117 Merge branch 'PHP-5.6'
* PHP-5.6:
  one more test to illustrate transfer of an arbitrary data amount throug pipes
2014-09-29 20:19:51 +02:00
Anatol Belski
cc3849f039 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  one more test to illustrate transfer of an arbitrary data amount throug pipes
2014-09-29 20:19:31 +02:00
Anatol Belski
1a2a8c6d4e one more test to illustrate transfer of an arbitrary data amount throug pipes 2014-09-29 20:18:33 +02:00
Anatol Belski
6090c3cf83 Merge branch 'PHP-5.6'
* PHP-5.6:
  fix tests on linux
  better test cleanup
2014-09-29 18:13:16 +02:00
Anatol Belski
70ff3ad7d1 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  fix tests on linux
  better test cleanup
2014-09-29 18:12:56 +02:00
Anatol Belski
859913f6d4 fix tests on linux 2014-09-29 18:12:25 +02:00
Anatol Belski
91d3cd8559 better test cleanup
and even force the XFAIL to fail as it would take too long anyway, even if it passes
2014-09-29 18:11:06 +02:00
Anatol Belski
78e23758b7 Merge branch 'PHP-5.6'
* PHP-5.6:
  updated NEWS
  Fixed bug #51800 proc_open on Windows hangs forever

Conflicts:
	main/streams/plain_wrapper.c
2014-09-29 16:30:40 +02:00
Anatol Belski
87a37f4090 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Fixed bug #51800 proc_open on Windows hangs forever
2014-09-29 16:27:33 +02:00
Anatol Belski
0c982798e0 Fixed bug #51800 proc_open on Windows hangs forever
This loop can block for some minutes, theoretically. Practially
however, this is a 99% non issue for a normal use case. This is
required because read() is synchronous. The PHP streams API wants
to fill its internal buffers, therefore it might try to read some
more data than user has demanded. Also, for a case where we want
to read X bytes, but neither enough data nor EOF arrives, read()
will block until it could fill the buffer. If a counterpart station
runs slowly or delivers not all the data at once, read() would
still be waiting. If we quit too early, we possibly could loose
some data from the pipe. Thus it has to emulate the read()
behaviour, but obviously not completely, just to some grade.

Reading big data amount is for sure an issue on any platforms, it
depends on the pipe buffer size, which is controlled by the system.
On Windows, the buffer size seems to be way too small, which causes
buffer congestion and a dead lock. It is essential to read the pipe
descriptors simultaneously and possibly in the same order as the
opposite writes them.

Thus, this will work with smaller buffer data sizes passed through
pipes. As MSDN states, anonymous pipes don't support asynchronous
operations. Neither anonymous pipes do support select() as they are
not SOCKETs but file descriptors. Consequently - bigger data sizes
will need a better solution based on threads. However it is much
more expencive. Maybe a better solution could be exporting a part
of the internal doing as a userspace function which could perform
some kind of lookahead operation on the pipe descriptor.

This is just the first stone, depending on the user feedback we
might go for further improvements in this area.
2014-09-29 16:24:34 +02:00
Anatol Belski
283609e3d6 cleanup TSRMLS_FETCH in ext/standard 2014-09-26 21:05:55 +02:00
krakjoe
52fa340902 remove fetches 2014-09-26 09:37:15 +01:00
Anatol Belski
d11734b4b0 reworked the patch, less new stuff but worky
TLS is already used in TSRM, the way exporting the tsrm cache through
a thread local variable is not portable. Additionally, the current
patch suffers from bugs which are hard to find, but prevent it to
be worky with apache. What is done here is mainly uses the idea
from the RFC patch, but

- __thread variable is removed
- offset math and declarations are removed
- extra macros and definitions are removed

What is done merely is

- use an inline function to access the tsrm cache. The function uses
  the portable tsrm_tls_get macro which is cheap
- all the TSRM_* macros are set to placebo. Thus this opens the way
  remove them later

Except that, the logic is old. TSRMLS_FETCH will have to be done once
per thread, then tsrm_get_ls_cache() can be used. Things seeming to be
worky are cli, cli server and apache. I also tried to enable bz2
shared and it has worked out of the box. The change is yet minimal
diffing to the current master bus is a worky start, IMHO. Though will
have to recheck the other previously done SAPIs - embed and cgi.

The offsets can be added to the tsrm_resource_type struct, then
it'll not be needed to declare them in the userspace. Even the
"done" member type can be changed to int16 or smaller, then adding
the offset as int16 will not change the struct size. As well on the
todo might be removing the hashed storage, thread_id != thread_id and
linked list logic in favour of the explicit TLS operations.
2014-09-25 18:48:27 +02:00
Anatol Belski
a2dd606942 Merge remote-tracking branch 'origin/master' into native-tls
* origin/master: (31 commits)
  Fixed C++ incompatibility
  update the certificate used for the test, as it expired recently
  Fixed immutable arrays support
  Fix counting of "R:" references in serialize()
  Remove dead code
  Test use($this) being an error
  Move list() condition into assign_znode
  typo
  NEWS
  Fix bug #68074 Allow to use system cipher list instead of hardcoded value
  Avoid double checks
  the order of the blocks should be Core, then exts in alphabetical order
  add missing NEWS entry for the phpdbg compilation fix
  add NEWS entry for #68088
  Make QM_ASSIGN, JMP_SET and CAST return IS_TMP_VAR.
  Removed useless helper
  Drop unused result argument
  Fix ct binding for cuf/cufa functions
  Fix detection of write to built-in function for references
  Test use of string names with \ prefix
  ...
2014-09-24 21:39:49 +02:00
Nikita Popov
75860fa8e1 Fix counting of "R:" references in serialize() 2014-09-24 12:06:19 +02:00
Anatol Belski
7099736dfa Merge remote-tracking branch 'origin/master' into native-tls
* origin/master:
  Fix tests/serialize/bug64146.phpt
  Remove zend_dynamic_array
  Remove static allocator
  Fixed typo
  Fix list() destructuring to special variables
  Remove php_varname_check
  Avoid useless reference counting
  Specialization (only IS_VAR ad IS_CV operands may be references)
  Optimized unset()
  Make error paths to be UNEXPECTED
  Replace IS_OP?_TMP_FREE() with more clear (OP?_TYPE == IS_TMP_VAR)
2014-09-23 00:32:48 +02:00
Nikita Popov
8be73f2650 Fix tests/serialize/bug64146.phpt
The var hash now retains a reference to its elements, to ensure
that addresses are not reused.

Furthermore the var hash now only stores objects and references
and directly uses their pointer as key, thus making serialization
about two times faster.
2014-09-22 23:48:31 +02:00
Nikita Popov
483697617f Remove php_varname_check
This is a leftover from PHP < 5.4.

Also removed the php_create_empty_class declaration, which no longer
exists.
2014-09-22 18:34:40 +02:00
Anatol Belski
6bb530d1eb Merge remote-tracking branch 'origin/master' into native-tls
* origin/master: (24 commits)
  added a comment
  fix the REPARSE_DATA_BUFFER struct def
  simplify the condition
  Fix two memory errors by interning earlier
  Add smart_str_append for appending zend_strings
  Rename smart_str_append to smart_str_append_smart_str
  Use smart_str for exception stack traces
  Use smart_str in get_function_declaration
  Move smart_str implementation into Zend/
  UPGRADING for Integer Semantics
  Fixed bug #66242 (don't assume char is signed)
  Fixed bug #67633
  Fixed if/else if ordering
  Use SIZEOF_ZEND_LONG instead of SIZEOF_LONG
  Use zend_ polyfilled nan/finite, check finite
  Updated 32-bit << test
  Updated << 64-bit tests
  Prevent bit shift count wrapping quirkiness on some CPUs for left shift
  Cast NaN and Infinity to zero
  Updated >> 64-bit tests
  ...
2014-09-22 10:26:17 +02:00
Anatol Belski
0885e4b1b9 simplify the condition 2014-09-22 09:41:53 +02:00
Nikita Popov
a770d29df7 Add smart_str_append for appending zend_strings
Also replaces usages in Zend/ and ext/standard
2014-09-21 20:58:31 +02:00
Nikita Popov
2a7de9fdbb Rename smart_str_append to smart_str_append_smart_str
It's used only rarely and I'm running out of append names...
2014-09-21 20:49:39 +02:00
Nikita Popov
e33f3d3b7c Move smart_str implementation into Zend/
So we can use it there as well...

For now I've retained the zend_smart_str_public.h header, though
it would probably be better to just move that one struct into
zend_types.h.
2014-09-21 20:49:39 +02:00
Anatol Belski
fb17d6516d Merge remote-tracking branch 'origin/master' into native-tls
* origin/master:
  fixed copying of the struct as it's not being modified
  avoid strlen usage in loop
  Removes accidentally added files.
  Reverts some unwanted changes
  Deletes patch leftovers
  Replaces php5 with php7, without whitespace changes.
2014-09-20 21:37:19 +02:00
krakjoe
b3aebda9ea native tls initial patch 2014-09-20 20:22:14 +01:00
Anatol Belski
132cd8be0d Merge branch 'pull-request/805'
* pull-request/805:
  Removes accidentally added files.
  Reverts some unwanted changes
  Deletes patch leftovers
  Replaces php5 with php7, without whitespace changes.
2014-09-20 19:46:44 +02:00
Anatol Belski
763bfb4f3b refixed printf fmt, used portable macros 2014-09-20 15:46:19 +02:00
Anatol Belski
1b3569235a forked bug41655 test for windows 2014-09-20 15:14:31 +02:00
Florian MARGAINE
8eb7e7bf7f Merge branch 'master' into issue-67910
Conflicts:
	README.PARAMETER_PARSING_API
	ext/gmp/tests/001.phpt
2014-09-20 10:09:21 +02:00
Florian MARGAINE
cf0303e782 Replaces php5 with php7, without whitespace changes. 2014-09-20 10:01:44 +02:00
Nikita Popov
0cd982f15c Make header C++ compatible 2014-09-19 23:54:58 +02:00
Nikita Popov
31e842472f Make number printing functions less generic
Now that zend_ulong is 64bit on 64bit platforms, it should be
sufficient to always use it, rather than supporting multiple
types.

API changes:
 * _zend_print_unsigned_to_buf and _zend_print_signed_to_buf
   no longer exist.
 * smart_str(ing)_print_long and smart_str(ing)_print_unsigned
   no longer exist.
 * Instead of all these, zend_print_ulong_to_buf and
   zend_print_long_to_buf should be used.
 * smart_str_append_generic_ex no longer exists.
 * smart_str(ing)_append_off_t(_ex) no longer exists, use
   smart_str(ing)_append_long(_ex) instead.
2014-09-19 23:39:07 +02:00
Nikita Popov
ad3e1830ba Use append_unsigned instead of append_long where appropriate 2014-09-19 23:39:07 +02:00
Nikita Popov
37aaccad7d Use inline functions for most of smart_str
smart_str_free_ex no longer exists, always use smart_str_free instead.

smart_str_alloc no longer requires a newlen variable to be in scope,
instead it returns the new length.
2014-09-19 23:39:07 +02:00
Nikita Popov
070667de8d Remove SMART_STR_USE_REALLOC 2014-09-19 23:39:07 +02:00
Anatol Belski
f6c02239ca Merge branch 'PHP-5.6'
* PHP-5.6:
  fix possible array underflow

Conflicts:
	ext/standard/image.c
2014-09-19 20:15:56 +02:00
Anatol Belski
6213d9fc91 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  fix possible array underflow
2014-09-19 20:13:46 +02:00
Anatol Belski
5d9403f56c fix possible array underflow
there are multiple issues with this code

- php_stream_read() returns an unsigned val, so is >= 0
- if it read less than sizeof(a) bytes, the function operates on garbage
- result->channels is an unsigned val, so >= 0
2014-09-19 20:12:24 +02:00
Anatol Belski
2be8fdcfd6 updated the comment to charset_hint 2014-09-19 19:45:38 +02:00
Johannes Schlüter
d0cb715373 s/PHP 5/PHP 7/ 2014-09-19 18:33:14 +02:00
Dmitry Stogov
bccc653185 Avoid double IS_INTERNED() check 2014-09-19 17:32:50 +04:00
Dmitry Stogov
3bc8a958c5 Fixed useless or duplicated IS_INTERNED() checks 2014-09-19 15:41:01 +04:00
Anatol Belski
953386edfd fix an always true condition and improve the error check 2014-09-19 10:33:01 +02:00
Anatol Belski
79bb2a1474 fix conditions 2014-09-19 09:49:32 +02:00
Anatol Belski
6fab907920 there can be only one ... of the identical expressions 2014-09-19 09:26:07 +02:00
Anatol Belski
f25f672916 fix condition 2014-09-19 09:09:20 +02:00
Anatol Belski
4d60f23630 fix printf format 2014-09-19 08:44:35 +02:00
Anatol Belski
c45f4f5461 generalized the case with secure memory zeroing 2014-09-19 01:46:14 +02:00
Anatol Belski
adf753159b remove useless condition 0 > unsigned 2014-09-19 00:06:40 +02:00
Anatol Belski
4722d85c1e zero sensitive data more secure way 2014-09-19 00:06:38 +02:00
Anatol Belski
bb89ac8408 zero sensitive data more secure way 2014-09-19 00:06:37 +02:00
Anatol Belski
732c49b433 fix sprintf format 2014-09-19 00:06:35 +02:00
Anatol Belski
2b77a57d88 zero sensitive data more secure way 2014-09-19 00:06:34 +02:00
Anatol Belski
3fa5064173 remove useless check 2014-09-19 00:06:32 +02:00
Anatol Belski
d41ac22a54 avoid strlen() usage in the loop 2014-09-17 08:59:19 +02:00
Anatol Belski
d594809f27 fix printf fmt 2014-09-17 00:56:42 +02:00
Anatol Belski
dda7a01480 fix signed/unsigned mismatch 2014-09-17 00:56:40 +02:00
Anatol Belski
f2e728616c fix signed/unsigned mismatch warnings 2014-09-17 00:56:38 +02:00
Anatol Belski
7ba43ea052 fix signed/unsigned mismatch 2014-09-16 22:15:27 +02:00
Anatol Belski
8c4ab0d02e fix signed/unsigned mismatch 2014-09-16 21:17:27 +02:00
Nikita Popov
079409bbc2 Switch (un)mangle property name to size_t and zend_string
Also use the _ex variants where possible.
2014-09-16 00:31:27 +02:00
Anatol Belski
066d39020b fix types 2014-09-15 19:46:32 +02:00
Anatol Belski
e591c78d09 revamp serialization to work with size_t for Serializable 2014-09-15 19:46:28 +02:00
Anatol Belski
172ca172d1 correct fix to the natcmp_ex
Till now the actualy length diff between the strings was under
circumstances returned. Whereby for a compare function only return
values of (1, 0, -1) make sense. Thus the old behavior isn't
present anymore, natcmp_ex now behaves as a standard compare function.
2014-09-15 12:58:46 +02:00
Anatol Belski
29f8b21cd7 fix int overflow preserving the old behavior 2014-09-14 16:39:25 +02:00
Anatol Belski
8d075b6e4d better way to zero away sensitive data
memset could be optimized away by the compiler
2014-09-14 11:48:51 +02:00
Anatol Belski
34e39783b1 remove useless casts and checks 2014-09-14 11:00:22 +02:00
Anatol Belski
79f51bd1a0 use the generator to produce the header 2014-09-14 00:43:58 +02:00
Anatol Belski
da10603ec9 update the html table generator 2014-09-14 00:42:48 +02:00
Anatol Belski
26cf7df133 removed the emalloc result check, out of memory will bailout 2014-09-14 00:00:52 +02:00
Anatol Belski
7d194a0e0b replaced the check with assert as it's kinda unusual case 2014-09-13 23:57:53 +02:00
Anatol Belski
87a5aae166 removed extra 1 byte member, padding will be done anyway by the compiler 2014-09-13 23:55:30 +02:00
Anatol Belski
a7690fea7a check if the winver was indeed fetched 2014-09-13 23:21:48 +02:00
Anatol Belski
bce562b75e check emalloc() result 2014-09-13 23:21:47 +02:00
Anatol Belski
e00d48490b better way to check for an empty string 2014-09-13 23:21:46 +02:00
Anatol Belski
f357628fc9 reduce the union size from 24 to 16 bytes on 64 bit 2014-09-13 23:21:44 +02:00
Anatol Belski
47fb7a46ac reduced struct sizes by 8 byte each on 64 bit 2014-09-13 23:21:39 +02:00
Anatol Belski
d578e351a9 fix condition
substraction of two unsigned
2014-09-13 23:21:38 +02:00