Nikita Popov [Mon, 15 Jul 2019 15:29:27 +0000 (17:29 +0200)]
Combine SKIP_TOKEN+RETURN_TOKEN into one macro
Nikita Popov [Mon, 15 Jul 2019 14:21:46 +0000 (16:21 +0200)]
Move shebang handling into the lexer
Instead of handling shebang lines by adjusting the file pointer in
individual SAPIs, move the handling into the lexer, where this is
both a lot simpler and more robust. Whether the shebang should be
skipped is controlled by CG(skip_shebang) -- we might want to do
that in more cases.
This fixed bugs #60677 and #78066.
Nikita Popov [Mon, 15 Jul 2019 13:20:36 +0000 (15:20 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4
Nikita Popov [Mon, 15 Jul 2019 13:19:43 +0000 (15:19 +0200)]
Merge branch 'PHP-7.2' into PHP-7.3
Nikita Popov [Tue, 25 Jun 2019 10:09:47 +0000 (12:09 +0200)]
Fix bug #77124
This is a backport of
6fcae63f614d1ed4aaeaff7b13a7a4627b1f1312
to PHP 7.2.
Christoph M. Becker [Mon, 15 Jul 2019 09:43:09 +0000 (11:43 +0200)]
Sync mysqlnd version with PHP version
Since mysqlnd is solely developed in the php-src repository, it makes
not much sense to have its own version number, particularly since
nobody cares to update it. Therefore we use PHP's version number, but
stick with the "mysqlnd" prefix which can be important to distinguish
the mysqli driver (libmysqlclient vs. mysqlnd).
Remi Collet [Mon, 15 Jul 2019 12:17:23 +0000 (14:17 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
typo [ci skip]
Remi Collet [Mon, 15 Jul 2019 12:17:13 +0000 (14:17 +0200)]
typo [ci skip]
Remi Collet [Mon, 15 Jul 2019 12:11:57 +0000 (14:11 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Fix #78269 password_hash uses weak options for argon2
Fix #78269 password_hash uses weak options for argon2
Remi Collet [Mon, 15 Jul 2019 12:11:38 +0000 (14:11 +0200)]
Merge branch 'PHP-7.2' into PHP-7.3
* PHP-7.2:
Fix #78269 password_hash uses weak options for argon2
Remi Collet [Mon, 15 Jul 2019 12:11:30 +0000 (14:11 +0200)]
Fix #78269 password_hash uses weak options for argon2
Remi Collet [Mon, 15 Jul 2019 12:10:38 +0000 (14:10 +0200)]
Fix #78269 password_hash uses weak options for argon2
Nikita Popov [Mon, 15 Jul 2019 11:49:29 +0000 (13:49 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4
Nikita Popov [Mon, 15 Jul 2019 10:51:01 +0000 (12:51 +0200)]
Emit T_BAD_CHARACTER for unexpected characters
Avoid having holes in the token stream which are annoying and
inefficient to reconstruct on the consumer side.
Nikita Popov [Mon, 15 Jul 2019 10:00:30 +0000 (12:00 +0200)]
Fixed bug #78010
Prevent the gc_info from becoming all zero for a registered root
by setting the top bit to one for compressed root addresses.
Sebastian Pop [Wed, 10 Jul 2019 18:31:27 +0000 (18:31 +0000)]
vectorize string-escape with NEON
On this benchmark:
function simple_string_escape() {
$a = "test'asd'asd'' asd\'\"asdfasdf";
for($i=0; $i<512; $i++) {
$a .= chr($i%256);
}
for ($i = 0; $i < 100000; $i++) {
if ($a === stripslashes(addslashes($a)))
$a .= chr($i%256);
else {
echo "error at i=".$i."\n";
return;
}
}
}
the execution time goes from 21.619s to 8.139s (165% speedup) on an A1 Graviton instance.
When removing the characters that need escaping, i.e., this benchmark:
function simple_string() {
$a = "testasdasd asdasdfasdf";
for ($i = 0; $i < 10000; $i++) {
if ($a === stripslashes(addslashes($a)))
$a .= "test dedeasdf";
else {
echo "error at i=".$i."\n";
return;
}
}
}
the execution time goes from 2.932s down to 0.516s (468% speedup) on an A1 Graviton instance.
Nikita Popov [Mon, 15 Jul 2019 08:29:37 +0000 (10:29 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4
Nikita Popov [Mon, 15 Jul 2019 08:23:27 +0000 (10:23 +0200)]
Merge branch 'PHP-7.2' into PHP-7.3
Andrew Collington [Sun, 14 Jul 2019 13:49:38 +0000 (14:49 +0100)]
Fix bug #78291 Missing opcache directives
New opcache directives have been added recently which are returned
if using `ini_get_all('zend opcache')` but are not listed in the
directives if using `opcache_get_configuration()`. This fix adds
those missing directives as well as if `opcache.mmap_base` is used
instead of `opcache.lockfile_path`. Also adds a test to ensure the
directives match with both methods of fetching.
Peter Kokot [Sun, 14 Jul 2019 21:44:01 +0000 (23:44 +0200)]
Remove usage of PHP_AIX_LDFLAGS
These are currently not defined since their usage has been removed via
51ca2dba530883a8e07d6869e66ee6c5b3c978a6
and
53349d69ddf7a2ba128f0928fb3b376422611a3b
Peter Kokot [Sun, 14 Jul 2019 20:24:21 +0000 (22:24 +0200)]
Remove conditional calls of always available macros
These checks were once relevant for these extensions in PECL and PHP
versions without availability of the checked macros.
Closes GH-4405
Peter Kokot [Sun, 14 Jul 2019 19:06:15 +0000 (21:06 +0200)]
Remove unsed zts check for sqlite3
This check was relevant with bundled sqlite library. Removed via
6083a387a81dbbd66d6316a3a12a63f06d5f7109
Closes GH-4403
Peter Kokot [Sun, 14 Jul 2019 12:45:27 +0000 (14:45 +0200)]
Remove duplicate PTHREADS template define
The undef PTHREADS converts to define if thread safety is configured.
This step is already done by pthreads m4 macros from TSRM so this now
removes duplicated PTHREADS defines from php_config.h.
Peter Kokot [Sun, 14 Jul 2019 11:50:05 +0000 (13:50 +0200)]
Remove timelib outdated defines
- TIMELIB_OMIT_STDINT is not used anymore since
https://github.com/derickr/timelib/commit/
a171f99cf02baf39549ab7209e37565b8b8f6529
- HAVE_GETTIMEOFDAY was defined multiple times in Windows headers
- ext/date/lib/timelib_config.h.win32 does not seem to be used
Closes GH-4400
Peter Kokot [Sun, 14 Jul 2019 11:48:44 +0000 (13:48 +0200)]
Remove PHP_MYSQL variable
PHP_MYSQL variable was once defined by the ext/mysql (--with-mysql).
Closes GH-4399
Peter Kokot [Sat, 13 Jul 2019 13:37:36 +0000 (15:37 +0200)]
Update changelogs
- PHP-7.4 alpha, beta, RC versions already include bugs logged in the
NEWS
- some links to RFCs
- php_error_docref0
Peter Kokot [Sat, 13 Jul 2019 13:06:35 +0000 (15:06 +0200)]
Remove php_multiple_shlib_versions_ok
Variable usage was removed via
913cec65517f11ebd972f920d1d320b853a175dd
Peter Kokot [Sat, 13 Jul 2019 12:52:36 +0000 (14:52 +0200)]
Remove unused recode extension artefacts
Closes GH-4395
Peter Kokot [Sat, 13 Jul 2019 12:47:37 +0000 (14:47 +0200)]
Remove checks for always enabled spl and pcre
Closes GH-4397
Peter Kokot [Sat, 13 Jul 2019 12:39:29 +0000 (14:39 +0200)]
Remove WARNING_LEVEL fix for QNX
Fix is no longer relevant since the environment variable WARNING_LEVEL
is no longer used to define the value of the -w option for cc.
Closes GH-4398
Christoph M. Becker [Sat, 13 Jul 2019 10:01:33 +0000 (12:01 +0200)]
Fix #78283: no output for explicit environment
This test does not work on Windows, if the child process has OPcache
enabled via php.ini, since TEMP is not set in the environment, so
OPcache can't find the base address file, and terminates the childs.
To avoid this (and potentially some other issues regarding missing
environment variables, such as PATH), we force the child process to
ignore any ini files.
Christoph M. Becker [Sat, 13 Jul 2019 07:40:50 +0000 (09:40 +0200)]
Fix #78282: atime and mtime mismatch
The fix for bug #78241 assumed that `time_t` would always be 64bit, but
actually is 32bit for x86. We therefore enforce 64bit arithmetic to
avoid wrapping.
George Peter Banyard [Sat, 13 Jul 2019 00:05:17 +0000 (02:05 +0200)]
Convert all php_error_docref0 to php_error_docref
Closes GH-4394
Peter Kokot [Fri, 12 Jul 2019 00:57:52 +0000 (02:57 +0200)]
Remove tsrm_config_common.h
- Checks and defines are not relevant for files that include it anymore
- Some code is not used anymore
- Defines are a bit duplicated in zend_portability.h and TSRM.h file
- MAXPATHLEN defs moved to zend_virtual_cwd.h
Christoph M. Becker [Fri, 12 Jul 2019 16:50:54 +0000 (18:50 +0200)]
No more need to cater to pre-PHP-5.3 or PHP-6 versions
Nikita Popov [Fri, 12 Jul 2019 15:22:11 +0000 (17:22 +0200)]
Don't split T_INLINE_HTML at partial PHP tag
If <?php occurs without required trailing whitespace, we should keep
it as part of a single T_INLINE_HTML region.
Nikita Popov [Fri, 12 Jul 2019 14:51:52 +0000 (16:51 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4
Nikita Popov [Fri, 12 Jul 2019 14:51:47 +0000 (16:51 +0200)]
Merge branch 'PHP-7.2' into PHP-7.3
Nikita Popov [Fri, 12 Jul 2019 14:50:43 +0000 (16:50 +0200)]
Use TRY_ADDREF/TRY_DELREF in soap
The DELREF part is a possible fix for bug #78278, the ADDREF part
is a drive-by fix.
Nikita Popov [Fri, 12 Jul 2019 14:30:47 +0000 (16:30 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4
Nikita Popov [Fri, 12 Jul 2019 14:29:55 +0000 (16:29 +0200)]
Merge branch 'PHP-7.2' into PHP-7.3
Nikita Popov [Fri, 12 Jul 2019 14:29:18 +0000 (16:29 +0200)]
Fixed bug #78279
Even if we don't initialize the callback on every request, we
should still reset our globals to default values...
Christoph M. Becker [Fri, 12 Jul 2019 12:35:44 +0000 (14:35 +0200)]
Update NEWS and UPGRADING wrt. ext/recode unbundling
Christoph M. Becker [Fri, 12 Jul 2019 11:58:17 +0000 (13:58 +0200)]
Removed ext/recode
Cf. <https://wiki.php.net/rfc/unbundle_recode>.
Christoph M. Becker [Fri, 12 Jul 2019 11:26:54 +0000 (13:26 +0200)]
Swap implode() argument order in the test helper
Nikita Popov [Fri, 12 Jul 2019 11:18:18 +0000 (13:18 +0200)]
Remove duplicate XtOffsetOf() definitions in php.h
These are already defined in zend_portability.h.
Nikita Popov [Fri, 12 Jul 2019 11:12:56 +0000 (13:12 +0200)]
Remove unused tsrm_strtok_r() function
There is also a php_strtok_r() function, which is actually used,
but nothing uses the tsrm_strtok_r() variant...
Nikita Popov [Fri, 12 Jul 2019 10:43:41 +0000 (12:43 +0200)]
Remove unnecessary uses of allow_url_include in tests
Nikita Popov [Fri, 12 Jul 2019 10:17:24 +0000 (12:17 +0200)]
Remove unnecessary uses of restore_include_path() in tests
Nikita Popov [Fri, 12 Jul 2019 08:43:32 +0000 (10:43 +0200)]
Swap implode() argument order in some tests
Nikita Popov [Fri, 12 Jul 2019 08:34:49 +0000 (10:34 +0200)]
Improve bless_tests
If a string var_dump contains a wildcard, also make the length a
wildcard.
Dmitry Stogov [Fri, 12 Jul 2019 08:40:56 +0000 (11:40 +0300)]
Use common code for double math
Christoph M. Becker [Thu, 11 Jul 2019 21:33:34 +0000 (23:33 +0200)]
Revert "Temporarily skip test"
This reverts commit
4e5a717866ed18c5ee539e339e33cc71f0ac8a88.
As of commit
17f7fb76053cabe20225472debe4d1801221ef9f the test should
no longer hang.
Dmitry Stogov [Thu, 11 Jul 2019 21:00:55 +0000 (00:00 +0300)]
Allow GOTO style helpers in HYBRID VM
Dmitry Stogov [Thu, 11 Jul 2019 17:44:39 +0000 (20:44 +0300)]
Separate "cold" parts of comparison instructions
Dmitry Stogov [Thu, 11 Jul 2019 15:23:08 +0000 (18:23 +0300)]
Separate "cold" parts of binary op instructions
Nikita Popov [Thu, 11 Jul 2019 15:03:48 +0000 (17:03 +0200)]
Remove redundant 64-bit ezmlm_hash() test
This test is the same as the as ezmlm_hash_basic.phpt. This function
does not behave differently on 32-bit and 64-bit.
Nikita Popov [Thu, 11 Jul 2019 11:40:20 +0000 (13:40 +0200)]
Add ZEND_DEP_ME macro
George Peter Banyard [Thu, 11 Jul 2019 14:06:41 +0000 (16:06 +0200)]
Convert short tag to standard tag in Zend test file
Closes GH-4389.
Nikita Popov [Mon, 1 Jul 2019 11:07:30 +0000 (13:07 +0200)]
Switch to using shell-less proc_open() in various server tests
Nikita Popov [Fri, 5 Jul 2019 15:41:59 +0000 (17:41 +0200)]
Support redirect+null descriptors in proc_open
This adds support for doing something like:
[1 => ['pipe', 'w'], 2 => ['redirect', 1]]
This will make descriptor 2 on the child end a dup'd descriptor 1.
This is mainly useful in conjunction with shell-less mode, because
we don't have an easy way to do "2>&1" there.
Additionally we support:
[1 => ['pipe', 'w'], 2 => ['null']]
Which would be the same as a >/dev/null or >nul redirect, depending
on platform.
Nikita Popov [Thu, 11 Jul 2019 12:13:05 +0000 (14:13 +0200)]
Don't call Reflection::export() internally
export() methods were implemented in a roundabout way, where they
would call Reflection::export(), which would then call __toString().
Cut out the middleman by directly calling __toString().
Christoph M. Becker [Thu, 11 Jul 2019 11:10:41 +0000 (13:10 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Fix #78212: Segfault in built-in webserver
Christoph M. Becker [Thu, 27 Jun 2019 09:34:51 +0000 (11:34 +0200)]
Fix #78212: Segfault in built-in webserver
Since syslog's ident and facility parameters have been added to
config[1], vsyslog() segfaults on Windows, if openlog() has not been
called before. We bring back the removed lines to fix this.
[1] <http://git.php.net/?p=php-src.git;a=commit;h=
2475337bd8a0fad0dac03db3f5e7e9d331d53653>
Nikita Popov [Thu, 11 Jul 2019 10:45:49 +0000 (12:45 +0200)]
Include test name in JUnit testcase name
Azure does not show the classname attribute in any convenient way,
and the file name is the part we usually care about.
Nikita Popov [Thu, 11 Jul 2019 10:32:57 +0000 (12:32 +0200)]
Make proc_open_bug64438.phpt more robust
The test currently assumes that we'll first read the data of
stdout and stderr and then see eof on stdout and stderr. However
we could also read stdout, see eof on stdout, read stderr and see
eof on stderr, depending on timing.
Avoid output ordering issues by collecting events into a per-pipe
array, so interleaving is not visible.
Sebastian Pop [Wed, 3 Jul 2019 20:10:38 +0000 (20:10 +0000)]
neon vectorization for base64
A similar algorithm is used to vectorize on x86_64, with a good description in
https://arxiv.org/abs/1704.00605 . On AArch64 the implementation differs in that
instead of using multiplies to shift bits around, it uses the vld3+vst4 and
vld4+vst3 combinations to load and store interleaved data. This patch is based
on the NEON implementation of Wojciech Mula:
https://github.com/WojciechMula/base64simd/blob/master/encode/encode.neon.cpp
https://github.com/WojciechMula/base64simd/blob/master/encode/lookup.neon.cpp
and
https://github.com/WojciechMula/base64simd/blob/master/encode/encode.neon.cpp
https://github.com/WojciechMula/base64simd/blob/master/encode/encode.neon.cpp
adapted to php/ext/standard/base64.c and vectorized with factor 16 instead of 8.
On a Graviton A1 instance and on the synthetic benchmarks in
https://github.com/lemire/fastbase64 I see 175% speedup on base64 encoding and
60% speedup on base64 decode compared to the scalar implementation.
The patch passes `make test` regression testing on aarch64-linux.
Sebastian Pop [Wed, 1 May 2019 16:05:11 +0000 (16:05 +0000)]
[AArch64] Use crc32 instructions when available
The time goes from 0.838s down to 0.029s (a 28x speedup) on a Graviton A1
instance and the following benchmark:
function simple_crc32() {
$a = "foo";
for ($i = 0; $i < 10000; $i++) {
crc32($a);
$a .= "o".$i;
}
}
Nikita Popov [Thu, 11 Jul 2019 08:26:19 +0000 (10:26 +0200)]
Add server conflict to soap custom content type test
Peter Kokot [Thu, 11 Jul 2019 00:00:51 +0000 (02:00 +0200)]
Refactor undefining PACKAGE_* symbols
Instead of patching configuration headers template generated by
the given tools - autoheader, this moves patching these symbols to
the configure step before creating and invoking the config.status
and before the configuration header file is generated from the
patched template.
Closes GH-4374
Peter Kokot [Wed, 10 Jul 2019 19:19:44 +0000 (21:19 +0200)]
Remove TSRM/tsrm_config.w32.h
The tsrm_config.w32.h file is a simple wrapper for already defined
symbols and includes elsewhere.
Closes GH-4383
Dmitry Stogov [Wed, 10 Jul 2019 15:29:35 +0000 (18:29 +0300)]
Set expectation to reduce hot code fragmentation
Nikita Popov [Wed, 10 Jul 2019 15:28:37 +0000 (17:28 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4
Nikita Popov [Wed, 10 Jul 2019 15:25:04 +0000 (17:25 +0200)]
Fix bug #78271
When cleaning nops in the dfa pass, we were always keeping the
smart branch inhibiting nop that occurs directly before the jump
instruction. However, as we skip unreachable blocks entirely, it
may happen that we need to keep a nop that occurs further back,
prior to the unreachable blocks. Account for that case now.
We should really do something about the smart branch situation,
this is very fragile...
Cyril Pascal [Wed, 10 Jul 2019 11:50:46 +0000 (12:50 +0100)]
Align segments on huge page boundary only for x86
Closes GH-4387.
Nikita Popov [Wed, 10 Jul 2019 11:10:07 +0000 (13:10 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4
Nikita Popov [Wed, 10 Jul 2019 11:09:06 +0000 (13:09 +0200)]
Add CONFLICTS to recognized sections
It does nothing on 7.3, but this makes it easier to write tests in
3rd party extensions.
Nikita Popov [Wed, 10 Jul 2019 10:55:40 +0000 (12:55 +0200)]
Fix file collisions in phar tests
Nikita Popov [Wed, 10 Jul 2019 10:42:17 +0000 (12:42 +0200)]
Additional fix for mysqli_fork test
Nikita Popov [Wed, 10 Jul 2019 08:28:58 +0000 (10:28 +0200)]
Throw notice on array access on illegal type
No notice is thrown for list() accesses, because we did not come
to an agreement regarding patterns like
while ([$key, $value] = yield $it->next()) { ... }
where silent null access may be desirable.
No effort is made to suppress multiple notices in access chains
likes $x[0][0][0], because the technical complexity this causes
does not seem worthwhile.
RFC: https://wiki.php.net/rfc/notice-for-non-valid-array-container
Nikita Popov [Wed, 10 Jul 2019 09:39:30 +0000 (11:39 +0200)]
Fix invalid array access in mysqli_fork test
Dmitry Stogov [Wed, 10 Jul 2019 09:27:59 +0000 (12:27 +0300)]
Reduce cost for references to strings and resources
Nikita Popov [Wed, 10 Jul 2019 08:17:40 +0000 (10:17 +0200)]
Rename support_strings to !is_list
In preparation for more behavior that depends on whether it it is
a list() access. Using support_strings for that would be
confusing.
Nikita Popov [Wed, 10 Jul 2019 09:04:48 +0000 (11:04 +0200)]
Simplify two unserialize() tests
unserialize() returns false for these now, so it doesn't make sense
to try and do something with the result.
Nikita Popov [Wed, 10 Jul 2019 08:57:02 +0000 (10:57 +0200)]
Fix iteration limits in SXE test
Test doesn't look like it's specifically testing out of bounds
access, just two different iteration patterns, so make sure the
limits are correct.
Nikita Popov [Wed, 10 Jul 2019 08:52:54 +0000 (10:52 +0200)]
Clean up DateTimeZone::getLocation() test
And avoid invalid array access.
Nikita Popov [Wed, 10 Jul 2019 08:44:33 +0000 (10:44 +0200)]
Avoid invalid array access in fcgi.inc
Remi Collet [Wed, 10 Jul 2019 07:00:41 +0000 (09:00 +0200)]
improve libargon2/libsodium compatibility
Peter Kokot [Tue, 9 Jul 2019 15:53:46 +0000 (17:53 +0200)]
Use e.g. instead of less common f.e. [ci skip]
Sara Golemon [Tue, 9 Jul 2019 15:18:13 +0000 (11:18 -0400)]
Relax argon2 mem_cost down to 64k, bump time_cost to 4
David Carlier [Mon, 8 Jul 2019 16:07:45 +0000 (16:07 +0000)]
CGI: Fix memory leak on error paths
Dmitry Stogov [Tue, 9 Jul 2019 11:01:48 +0000 (14:01 +0300)]
Avoid unintended inlining
Nikita Popov [Tue, 9 Jul 2019 09:05:54 +0000 (11:05 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4
Nikita Popov [Tue, 9 Jul 2019 09:05:18 +0000 (11:05 +0200)]
Merge branch 'PHP-7.2' into PHP-7.3
Nikita Popov [Tue, 9 Jul 2019 09:04:05 +0000 (11:04 +0200)]
Revert "Fixed bug #76980"
This reverts commit
35353dc49a73a58c17c7896c4c4c3997ef2c007d.
This changes causes issues for Symfony, see
https://github.com/symfony/symfony/issues/32395. I'm reverting it
from PHP 7.2 and PHP 7.3 and only leaving it in PHP 7.4.
Derick Rethans [Tue, 9 Jul 2019 08:14:01 +0000 (09:14 +0100)]
Merge remote-tracking branch 'origin/PHP-7.4' into PHP-7.4
Christoph M. Becker [Tue, 9 Jul 2019 08:08:09 +0000 (10:08 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Upgrade to SQLite 3.28.0
Christoph M. Becker [Tue, 9 Jul 2019 08:04:20 +0000 (10:04 +0200)]
Merge branch 'PHP-7.2' into PHP-7.3
* PHP-7.2:
Upgrade to SQLite 3.28.0
Christoph M. Becker [Tue, 9 Jul 2019 08:01:52 +0000 (10:01 +0200)]
Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
Upgrade to SQLite 3.28.0
Christoph M. Becker [Fri, 21 Jun 2019 13:48:50 +0000 (15:48 +0200)]
Upgrade to SQLite 3.28.0
Over the years, multiple security vulnerabilities[1] have been found
and fixed in SQLite3, so it makes sense to update our bundled libsqlite
to the latest available version.
[1] <https://www.cvedetails.com/vulnerability-list/vendor_id-9237/Sqlite.html>