Commit Graph

47 Commits

Author SHA1 Message Date
Stefan Esser
e2f1b375a2 This way around for correct error messages 2005-02-28 16:32:49 +00:00
Stefan Esser
b7476a5bd6 Drop invalid arrays 2005-02-28 16:22:39 +00:00
Stanislav Malyshev
634a5ec6f8 fix typo 2005-02-27 11:30:41 +00:00
Stanislav Malyshev
8919a7ae08 fix typo 2005-02-24 10:58:16 +00:00
Stefan Esser
0ef1f50383 Correcting bounds check before someone uses this code 2005-02-23 18:26:39 +00:00
Stanislav Malyshev
db3fdce304 Custom object serializer infrastructure - PHP implementation
# The detailed announce on the list will follow
2005-02-23 11:17:52 +00:00
Marcus Boerger
ff8055fc5c - Disallow illegal class names 2005-02-14 20:58:22 +00:00
Ilia Alshanetsky
112eb3b35d Fix handling of INF/NAN in unserialize(). 2005-01-30 16:38:53 +00:00
Ilia Alshanetsky
4a5294788e Fixed bug #31699 (unserialize() float problem on non-English locales). 2005-01-26 16:55:17 +00:00
Stefan Esser
da7001a6c3 Fix compiler warning. 2005-01-17 11:45:09 +00:00
Stefan Esser
135fee7f10 and use it... 2005-01-15 18:30:16 +00:00
Stefan Esser
2c25b9d866 Restore unserialize() speed 2005-01-15 18:18:08 +00:00
Stefan Esser
9a18fb197d Handle already existing elements correctly 2004-12-03 16:02:48 +00:00
Stefan Esser
1094a0d243 Beware of negative indices 2004-12-01 22:42:00 +00:00
Marcus Boerger
abe47301c1 - Earlier detection of failure 2004-09-26 21:47:27 +00:00
Marcus Boerger
8564352f59 - Readd check for nested data (but correct this time) 2004-09-12 12:43:05 +00:00
Marcus Boerger
06ade1ab1c - Check for legal key types 2004-09-12 12:23:16 +00:00
Marcus Boerger
6200c9a5a1 - Remove wrong test 2004-09-12 11:51:13 +00:00
Marcus Boerger
efea880e6f - Add some checks to unserialize() to prevent bufferoverflows 2004-09-05 17:16:02 +00:00
Andi Gutmans
56f8195fe5 - Nuke empty_string. It is a reminanent from the time where RETURN_FALSE()
used to return "" and not bool(false). It's not worth keeping it because
  STR_FREE() and zval_dtor() always have to check for it and it slows down
  the general case. In addition, it seems that empty_string has been abused
  quite a lot, and was used not only for setting zval's but generally in
  PHP code instead of "", which wasn't the intention. Last but not least,
  nuking empty_string should improve stability as I doubt every place
  correctly checked if they are not mistakenly erealloc()'ing it or
  calling efree() on it.
  NOTE: Some code is probably broken. Each extension maintainer should
  check and see that my changes are OK. Also, I haven't had time to touch
  PECL yet. Will try and do it tomorrow.
2004-07-19 07:19:50 +00:00
Marcus Boerger
bc0373b880 Portable solution for bug #27646 that works correct on Windows, too 2004-03-27 00:50:41 +00:00
Marcus Boerger
fdcff80c16 - Allow negative infinity
- Register missing constants, they work anyway but cause an E_NOTICE
# generation by atof() should be portable enough (afaik)
2004-03-23 22:30:25 +00:00
Marcus Boerger
c64376bda5 Bugfix #27646: Cannot serialize/unserialize non-finite numeric values 2004-03-23 20:54:00 +00:00
Stanislav Malyshev
3fd027c5ac fix bug #27120 and bug #25975 - preserve is_ref when bound
objects are serialized
2004-02-03 14:12:59 +00:00
foobar
ccfc46b0aa - Happy new year and PHP 5 for rest of the files too..
# Should the LICENSE and Zend/LICENSE dates be updated too?
2004-01-08 17:33:29 +00:00
Marcus Boerger
0cd13bf423 Bugfix #26762 unserialize() produces lowercase classnames 2004-01-02 03:27:32 +00:00
foobar
ba6c58ad73 - Fixed bug #25378 (Invalid data passed to unserialize() causes segfault) 2003-09-03 16:24:15 +00:00
Stanislav Malyshev
53bbeedc89 don't try to wakeup incomplete classes 2003-08-05 09:15:31 +00:00
Moriyoshi Koizumi
1379c46d9e Fixed a leak that occurs with "R" reference variable specifier. 2003-07-02 16:19:57 +00:00
Sterling Hughes
a0ae63670a fix by ilia to fix crashes in the session extension when /tmp/sess_* files
previously existed.  make test now passes fully with the session extension.
2003-06-26 03:24:11 +00:00
James Cox
f68c7ff249 updating license information in the headers. 2003-06-10 20:04:29 +00:00
Sebastian Bergmann
572504845d Leftover. 2003-06-02 15:53:09 +00:00
Marcus Boerger
3b2fa8bb96 Fix namespace related problems 2003-05-24 17:10:03 +00:00
Marcus Boerger
2307193255 Fix unserialize 2003-05-18 12:08:51 +00:00
foobar
b319982868 add missing header 2003-04-17 02:53:32 +00:00
Ilia Alshanetsky
38ad0e9104 zend_error -> php_error_docref. 2003-01-24 16:29:40 +00:00
Sander Roobol
47ae4068bb Made unserialize handle floats with an E notation - bug #18654
Patch by Christophe Sollet <csollet@coleebris.com>.
(I'll commit a new var_unserializer.c in a second)
2002-08-19 19:45:46 +00:00
Stanislav Malyshev
05156fa349 ZE2 compatibility fix
## In ZE2 the hash contains zend_class_entry *!
2002-08-18 12:22:28 +00:00
Shane Caraveo
7645343c4a need to export var_replace and var_destroy for win32 2002-08-04 23:45:38 +00:00
Sascha Schumann
2438488c68 rval_temp was declared but never used 2002-05-04 17:17:43 +00:00
Stanislav Malyshev
a57381e3bd Fix couple of nasty serializer bugs:
a) When array unserializer encounters less data than it expects (like:
a:1:{}) it crashes. I don't understand exactly why it does, but the fact
is it does. So now it should catch "}" and bail out.
b) When array/object data are serialized, the count is written by hash
count. However, it can be that in-loop check fails and less data than
expected will then be written into the array. Which, due to a), would
crash on unserialize. So now it will write empty entries in place of
entries it cannot serialize (the other choice would be make two passes on
the data, which I don't like).
2002-04-28 16:56:33 +00:00
Harald Radi
65c4e9e0fd removed anoying warnings 2002-03-17 16:45:56 +00:00
Andi Gutmans
c8e7db984c - Allow duality between Engine 1 & 2 using ZEND_STANDARD_CLASS_DEF_PTR 2002-03-12 20:18:01 +00:00
Bernd Roemer
99639f5812 Allow unserializer_callback_func to be turned off. 2001-12-02 17:31:11 +00:00
Derick Rethans
534b0f7e06 - Also patch the file from which var_unserializer.c is generated 2001-11-26 22:33:44 +00:00
Sascha Schumann
9f3362933a Fix two incidents which have been reported about the new unserializer.
#1: forgot to handle negative numbers
#2: added zval_ptr_dtor which was not in the original code which
    might lead to crash

PR: #14082
2001-11-16 16:34:14 +00:00
Sascha Schumann
f341f630d3 Rewrite of unserializer which should be more maintainable and extensible.
Changes pass `make test´ and a couple of custom tests.

Enjoy.
2001-11-10 21:18:34 +00:00