Commit graph

310 commits

Author SHA1 Message Date
Christoph M. Becker
cc125f277b Implement #72653: SQLite should allow opening with empty filename
From the [sqlite3_open](https://www.sqlite.org/c3ref/open.html) docs:

| If the filename is an empty string, then a private, temporary on-disk
| database will be created. This private database will be automatically
| deleted as soon as the database connection is closed.

We make that facility available to userland.

While we're at it, we also do some minor optimizations, remove the
unnecessary check for NUL characters in filename, which is already catered
to by ZPP(p), and add a missing `return` in case db_obj isn't initialized.
2016-07-27 16:41:03 +02:00
Christoph M. Becker
ac0bbea3a8 Merge branch 'PHP-7.0' into PHP-7.1 2016-07-25 17:15:10 +02:00
Christoph M. Becker
ccf39dd552 Merge branch 'PHP-5.6' into PHP-7.0
# Resolved conflicts:
#	ext/sqlite3/sqlite3.c
#	ext/sqlite3/tests/bug72668.phpt
2016-07-25 17:07:41 +02:00
Christoph M. Becker
64e3e932fc Further fixes wrt. bug #72668
Not only SQLite3::querySingle(), but also SQLite3::query() and
SQLite3Stmt::execute() were affected.
2016-07-25 17:03:10 +02:00
Xinchen Hui
088905bf60 Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  Fixed bug #72668 (Spurious warning when exception is thrown in user defined function)
2016-07-25 20:28:57 +08:00
Xinchen Hui
f5e56cf970 Fixed bug #72668 (Spurious warning when exception is thrown in user defined function) 2016-07-25 20:28:39 +08:00
Xinchen Hui
24d0211b32 Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed bug #72571 (SQLite3::bindValue, SQLite3::bindParam crash)
2016-07-11 11:51:34 +08:00
Xinchen Hui
a19655cfe3 Fixed bug #72571 (SQLite3::bindValue, SQLite3::bindParam crash) 2016-07-11 11:51:19 +08:00
Christoph M. Becker
0d0f5976d8 Merge branch 'PHP-7.0' 2016-06-27 17:18:44 +02:00
Christoph M. Becker
0f03224d59 Merge branch 'PHP-5.6' into PHP-7.0 2016-06-27 17:09:55 +02:00
Christoph M. Becker
57940605da Fix #70628: Clearing bindings on an SQLite3 statement doesn't work
Obiously, it isn't sufficient to call sqlite3_clear_bindings() alone, but
also the bound_params of the php_sqlite3_stmt have to be cleared.
2016-06-27 17:06:27 +02:00
Dmitry Stogov
323b2733f6 Fixed compilation warnings 2016-06-22 00:40:50 +03:00
Dmitry Stogov
f0a2e8eb13 Removed "zend_fcall_info.function_table". It was assigned in many places, but is never used. 2016-04-27 13:46:38 +03:00
Anatol Belski
8b8b44145b Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed bug #68849 bindValue is not using the right data type
2016-04-12 19:15:08 +02:00
Anatol Belski
e49580c96e Fixed bug #68849 bindValue is not using the right data type 2016-04-12 19:12:45 +02:00
Nikita Popov
f57c0b3249 Merge branch 'PHP-7.0' 2016-03-03 16:50:47 +01:00
Nikita Popov
1ac152938c Move semicolon into TSRMLS_CACHE_EXTERN/DEFINE
Also re bug #71575.
2016-03-03 16:50:01 +01:00
Dmitry Stogov
c67c166f93 Removed zend_fcall_info.symbol_table 2016-03-02 17:50:55 +03:00
Nikita Popov
302214f7ce Merge branch 'PHP-7.0' 2016-02-13 18:03:45 +01:00
Nikita Popov
30d5432bfe Merge branch 'PHP-5.6' into PHP-7.0
Conflicts:
	ext/sqlite3/sqlite3.c
2016-02-13 18:03:06 +01:00
Nikita Popov
fece24f8f4 Check length of string before comparing to :memory: 2016-02-13 18:01:50 +01:00
Nikita Popov
93dc91b386 Remove version checks
PHP_VERSION_ID
PHP_API_VERSION
ZEND_MODULE_API_NO
PHP_MAJOR_VERSION, PHP_MINOR_VERSION
ZEND_ENGINE_2

I've left litespeed alone, as it seems to genuinely maintain support
for many PHP versions.
2016-01-30 15:35:28 +01:00
Lior Kaplan
ed35de784f Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  Happy new year (Update copyright to 2016)
2016-01-01 19:48:25 +02:00
Lior Kaplan
49493a2dcf Happy new year (Update copyright to 2016) 2016-01-01 19:21:47 +02:00
Xinchen Hui
250430acdc Fixed Bug #71049 (SQLite3Stmt::execute() releases bound parameter instead of internal buffer) 2015-12-07 07:43:09 -08:00
Anatol Belski
5ac288bcc6 fix crash in sqlite when executing with bound stream param
rel #70862
2015-11-05 18:08:08 +01:00
Xinchen Hui
010509355d Fixed Conditional jump or move depends on uninitialised value 2015-10-14 10:19:57 +08:00
Adam Harvey
6413ecb439 Fix a memory leak in sqlite3_do_callback.
This was very, very obvious when using a debug build of PHP to build the
manual!

Fixes bug #70571 (Memory leak in sqlite3_do_callback).
2015-09-24 14:16:45 +02:00
Xinchen Hui
59e8eae4b0 Useless ZVAL_UNDEF 2015-09-09 18:00:04 +08:00
Rasmus Lerdorf
40ca0f1927 SQLite3::open/__construct has 2 optional args 2015-07-07 11:53:07 -07:00
Xinchen Hui
ca1ba39102 Merge branch 'PHP-5.6'
Conflicts:
	ext/sqlite3/sqlite3.c
2015-07-07 21:38:24 +08:00
Xinchen Hui
26471eb69c Fixed bug #69972 (Use-after-free vulnerability in sqlite3SafetyCheckSickOrOk()) 2015-07-07 21:37:35 +08:00
Aaron Piotrowski
ed1b64877d Switch position of ce in exception ce variable names 2015-07-03 09:45:03 -05:00
Aaron Piotrowski
a812a74c2e Change zend_exception_get_default() to zend_exception_ce 2015-07-03 09:44:48 -05:00
Dmitry Stogov
4a2e40bb86 Use ZSTR_ API to access zend_string elements (this is just renaming without semantick changes). 2015-06-30 04:05:24 +03:00
Kalle Sommer Nielsen
0da4c34f0e Fixed bug #69897 (segfault when manually constructing SQLite3Result) 2015-06-22 11:12:23 +02:00
Dmitry Stogov
7649a35d52 Fixed access to uninitialized value (in case of exception) 2015-04-08 16:01:22 +03:00
Nikita Popov
122d759618 Always throw TypeException on throwing zpp failures
Introduces a ZEND_PARSE_PARAMS_THROW flag for zpp, which forces to
report FAILURE errors using a TypeException instead of a Warning,
like it would happen in strict mode.

Adds a zend_parse_parameters_throw() convenience function, which
invokes zpp with this flag.

Converts all cases I could identify, where we currently have
throwing zpp usage in constructors and replaces them with this API.
Error handling is still replaced to EH_THROW in some cases to handle
other, domain-specific errors in constructors.
2015-04-06 11:27:34 +02:00
Stanislav Malyshev
ff740f16f9 Merge branch 'PHP-5.6'
* PHP-5.6:
  Fix bug #66550 (SQLite prepared statement use-after-free)

Conflicts:
	ext/sqlite3/sqlite3.c
2015-04-05 22:45:16 -07:00
Stanislav Malyshev
2a81733c87 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Fix bug #66550 (SQLite prepared statement use-after-free)
2015-04-05 22:38:20 -07:00
Stanislav Malyshev
66b853d426 Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  Fix bug #66550 (SQLite prepared statement use-after-free)
2015-04-05 22:37:51 -07:00
Stanislav Malyshev
5ae20c6247 Fix bug #66550 (SQLite prepared statement use-after-free) 2015-04-05 22:36:26 -07:00
Stanislav Malyshev
5a5b63774b Merge branch 'pull-request/1091'
* pull-request/1091:
  Stop trying to call the callback after it has thrown an exception. Also, as an exception has been thrown, there is no need to have a separate error message.
  Fix freeing null segfault. Added test for behaviour.

Conflicts:
	ext/sqlite3/tests/bug68760.phpt
2015-03-22 16:48:54 -07:00
Danack
0c27a8eb61 Fix #68760: Fix freeing null segfault. Added test for behaviour. 2015-03-22 16:46:02 -07:00
Danack
1ec430d4ed Fix #68760: Fix freeing null segfault. Added test for behaviour. 2015-03-22 16:44:06 -07:00
Danack
44f15b068d Stop trying to call the callback after it has thrown an exception. Also, as an exception has been thrown, there is no need to have a separate error message. 2015-02-16 21:45:21 +00:00
Anatol Belski
af3ca74501 made ZEND_TSRMLS_CACHE_* macros look like function calls
which also comply with the current semantics for such macros
2015-02-16 17:19:32 +01:00
Dmitry Stogov
9e70d7672d Move zend_object->guards into additional slot of zend_object->properties_table[]. As result size of objects without __get/__set/__unset/__isset magic methods is reduced. 2015-02-04 15:24:13 +03:00
Xinchen Hui
fc33f52d8c bump year 2015-01-15 23:27:30 +08:00
Xinchen Hui
0579e8278d bump year 2015-01-15 23:26:37 +08:00