Máté Kocsis
41b096b392
Promote a few forgotten warnings to exceptions
...
Closes GH-6211
2020-09-25 12:08:15 +02:00
Nikita Popov
b40ffa9bfd
Merge branch 'PHP-7.4'
...
* PHP-7.4:
Fix #78179 : mysqli/mysqlnd transaction extensions
2020-09-18 15:30:13 +02:00
Nikita Popov
f23164584e
Merge branch 'PHP-7.3' into PHP-7.4
...
* PHP-7.3:
Fix #78179 : mysqli/mysqlnd transaction extensions
2020-09-18 15:30:06 +02:00
Daniel Black
740f0f6165
Fix #78179 : mysqli/mysqlnd transaction extensions
...
MariaDB versioning created a mess with regarding testing
features based on version. We sidestep the problem here
by assuming the extensions are present, and if a syntax
error occurs with a SQL mode TRANS_START_READ_WRITE |
TRANS_START_READ_ONLY enabled, then output the same
warning as before.
2020-09-18 15:29:44 +02:00
Dharman
74d16999fc
mysqli_set_charset now throws an mysqli_sql_exception when incorrect charset is provided
...
Closes GH-6142.
2020-09-18 14:57:59 +02:00
Nikita Popov
0582c40907
Merge branch 'PHP-7.4'
...
* PHP-7.4:
Fix bug #80107 : Handling of large compressed packets
Bug #80107 Add test for mysqli_query() fails for ~16 MB long query when compression is enabled
2020-09-18 12:59:10 +02:00
Nikita Popov
5e7c5a82a5
Merge branch 'PHP-7.3' into PHP-7.4
...
* PHP-7.3:
Fix bug #80107 : Handling of large compressed packets
Bug #80107 Add test for mysqli_query() fails for ~16 MB long query when compression is enabled
2020-09-18 12:57:50 +02:00
Nikita Popov
ecd9c42f9e
Fix bug #80107 : Handling of large compressed packets
...
There's two layers of packet splitting going on. First, packets
need to be split into having a payload of exactly 2^24-1 bytes or
being the last packet. If the split packet has size between 2^24-5
and 2^24-1 bytes, the compressed packets also needs to be split,
though the choice of split doesn't matter here. I'm splitting off
the first 8192 bytes, as that's what I observe libmysqlclient to be
doing.
2020-09-18 12:55:44 +02:00
Christoph M. Becker
f601d7c743
Merge branch 'PHP-7.4' into master
...
* PHP-7.4:
Fix #80115 : mysqlnd.debug doesn't recognize absolute paths with slashes
2020-09-17 12:39:25 +02:00
Christoph M. Becker
c3c76dbfb9
Merge branch 'PHP-7.3' into PHP-7.4
...
* PHP-7.3:
Fix #80115 : mysqlnd.debug doesn't recognize absolute paths with slashes
2020-09-17 12:38:16 +02:00
Christoph M. Becker
efdbc3688b
Fix #80115 : mysqlnd.debug doesn't recognize absolute paths with slashes
2020-09-17 12:37:02 +02:00
Nikita Popov
392f0abf68
Avoid ubsan warning due to memcpy null
...
This showed up in ext/mysqli/tests/mysqli_change_user.phpt on azure
today. Not seeing it locally though, and also not sure why it decided
to show up now...
2020-09-16 10:30:13 +02:00
Nikita Popov
9d3c6665ab
Drop some dead code
2020-09-14 12:03:07 +02:00
Nikita Popov
682823b75b
Add explicit double cast
...
Avoid precision warning.
2020-09-01 12:25:38 +02:00
George Peter Banyard
fa8d9b1183
Improve type declarations for Zend APIs
...
Voidification of Zend API which always succeeded
Use bool argument types instead of int for boolean arguments
Use bool return type for functions which return true/false (1/0)
Use zend_result return type for functions which return SUCCESS/FAILURE as they don't follow normal boolean semantics
Closes GH-6002
2020-08-28 15:41:27 +02:00
Máté Kocsis
56135654a0
Remove unnecessary function entry array
2020-08-11 09:41:54 +02:00
George Peter Banyard
c74001997f
Drop '#if 0' in mysqlnd_debug() from the MySQLnd extension
...
Closes GH-5587
2020-08-07 18:17:33 +02:00
Max Semenik
2b5de6f839
Remove proto comments from C files
...
Closes GH-5758
2020-07-06 21:13:34 +02:00
twosee
83a77015ad
Add helper APIs for maybe-interned string creation
...
Add ZVAL_CHAR/RETVAL_CHAR/RETURN_CHAR as a shortcut for using
ZVAL_INTERNED_STRING and ZSTR_CHAR.
Add zend_string_init_fast() as a helper for the empty string /
one char interned string / zend_string_init() pattern.
Also add corresponding ZVAL_STRINGL_FAST etc macros.
Closes GH-5684.
2020-06-08 15:31:52 +02:00
twosee
7d6a0ba808
Fix expression warnings and break warnings
...
Close GH-5675.
2020-06-07 10:41:11 +02:00
twosee
1b85e749c7
Fix warning of strict-prototypes
...
Closes GH-5673.
2020-06-07 10:36:50 +02:00
Christoph M. Becker
5a04796f76
Fix MSVC level 1 (severe) warnings
...
We fix (hopefully) all instances of:
* <https://docs.microsoft.com/en-us/cpp/error-messages/compiler-warnings/compiler-warning-level-1-c4005 >
* <https://docs.microsoft.com/en-us/cpp/error-messages/compiler-warnings/compiler-warning-level-1-c4024 >
* <https://docs.microsoft.com/en-us/cpp/error-messages/compiler-warnings/compiler-warning-level-1-c4028 >
* <https://docs.microsoft.com/en-us/cpp/error-messages/compiler-warnings/compiler-warning-level-1-c4047 >
* <https://docs.microsoft.com/en-us/cpp/error-messages/compiler-warnings/compiler-warning-level-1-c4087 >
* <https://docs.microsoft.com/en-us/cpp/error-messages/compiler-warnings/compiler-warning-level-1-c4090 >
* <https://docs.microsoft.com/en-us/cpp/error-messages/compiler-warnings/compiler-warning-level-1-c4273 >
* <https://docs.microsoft.com/en-us/cpp/error-messages/compiler-warnings/compiler-warning-level-1-c4312 >
`zend_llist_add_element()` and `zend_llist_prepend_element()` now
explicitly expect a *const* pointer.
We use the macro `ZEND_VOIDP()` instead of a `(void*)` cast to suppress
C4090; this should prevent accidential removal of the cast by
clarifying the intention, and makes it easier to remove the casts if
the issue[1] will be resolved sometime.
[1] <https://developercommunity.visualstudio.com/content/problem/390711/c-compiler-incorrect-propagation-of-const-qualifie.html >
2020-06-05 11:17:05 +02:00
Nikita Popov
4984bd100b
Remove MYSQLND_COMPRESSION_WANTED define
...
Instead directly define MYSQLND_COMPRESSION_ENABLED. This also
matches what config.w32 does.
2020-06-04 10:03:39 +02:00
Nikita Popov
fc458eee3b
Merge branch 'PHP-7.4'
...
* PHP-7.4:
mysqlnd: Remove unnecessary check for HAVE_ZLIB
2020-06-04 10:02:12 +02:00
talyz
a230717fbb
mysqlnd: Remove unnecessary check for HAVE_ZLIB
...
If MYSQLND_COMPRESSION_WANTED is set, we already guarantee that
zlib is linked, but don't necessarily set HAVE_ZLIB.
Closes GH-5658.
2020-06-04 10:01:17 +02:00
George Peter Banyard
1330359515
Fix [-Wundef] warning in MySQLnd extension
2020-05-18 00:37:20 +02:00
Christoph M. Becker
2393692937
Merge branch 'PHP-7.4'
...
* PHP-7.4:
Fix #79596 : MySQL FLOAT truncates to int some locales
2020-05-15 09:13:22 +02:00
Christoph M. Becker
844a1245ef
Merge branch 'PHP-7.3' into PHP-7.4
...
* PHP-7.3:
Fix #79596 : MySQL FLOAT truncates to int some locales
2020-05-15 09:11:44 +02:00
Christoph M. Becker
d1cd489a53
Fix #79596 : MySQL FLOAT truncates to int some locales
...
We must not do locale aware float to string conversion here; instead
we using our `snprintf()` implementation with the `F` specifier.
2020-05-15 09:09:41 +02:00
George Peter Banyard
f91f72607b
Drop unnecessary stdint and inttypes header checks
...
These are always available as of C99.
Closes GH-5323
Co-authored-by: "Christoph M. Becker" <cmbecker69@gmx.de>
2020-04-22 20:18:19 +02:00
George Peter Banyard
594287a736
Fix [-Wjump-misses-init] warning in MySQL new driver extension
2020-04-18 14:52:49 +02:00
Nikita Popov
a866ef88ed
Merge branch 'PHP-7.4'
...
* PHP-7.4:
Fix MySQL local infile / attr handling on big endian systems
2020-04-16 11:23:11 +02:00
Nikita Popov
f684553c2c
Merge branch 'PHP-7.3' into PHP-7.4
...
* PHP-7.3:
Fix MySQL local infile / attr handling on big endian systems
2020-04-16 11:22:43 +02:00
guirish
a1c1736bfb
Fix MySQL local infile / attr handling on big endian systems
...
Make sure pointer types match what is used by libmysql everywhere.
Closes GH-5380.
2020-04-16 11:22:17 +02:00
Nikita Popov
d4471c6aae
Remove int6store()
...
The implementation is broken (syntactically). As it's not used
anyway, I'm just dropping it instead.
2020-04-14 10:37:37 +02:00
Nikita Popov
6e1ff5f951
Merge branch 'PHP-7.4'
...
* PHP-7.4:
Fix incorrect free for last_message
2020-04-03 10:06:52 +02:00
Nikita Popov
37a179bd3c
Merge branch 'PHP-7.3' into PHP-7.4
...
* PHP-7.3:
Fix incorrect free for last_message
2020-04-03 10:06:09 +02:00
Qianqian Bu
ee21657a6a
Fix incorrect free for last_message
...
In commit a7305eb539
the last_message
field of the connection object was changed to be always non-persistent.
But there is a place on change_user path that still treats it
depending on conn->persistent flag. This will cause PHP crash after
com_change_user success when there is last_message set
2020-04-03 10:05:16 +02:00
Christoph M. Becker
3b26a3868e
Merge branch 'PHP-7.4'
...
* PHP-7.4:
Fix leak on Windows as well
2020-03-23 16:33:26 +01:00
Christoph M. Becker
0afdf194f0
Fix leak on Windows as well
...
Cf. <http://git.php.net/?p=php-src.git;a=commit;h=db08ef0d3274b239a6b9e68d71d02bb6acb71d82 >
2020-03-23 16:32:52 +01:00
Nikita Popov
e9c2dec720
Merge branch 'PHP-7.4'
...
* PHP-7.4:
Fix RSA memory leak in mysqlnd auth
2020-03-23 12:01:15 +01:00
Nikita Popov
db08ef0d32
Fix RSA memory leak in mysqlnd auth
2020-03-23 11:55:22 +01:00
Christoph M. Becker
3abe64f16a
Merge branch 'PHP-7.4'
...
* PHP-7.4:
Native Windows support for mysqlnd sha256 authentification
Abstract over crypto operations
2020-03-02 16:33:40 +01:00
Christoph M. Becker
a0377021c5
Native Windows support for mysqlnd sha256 authentification
...
We implement that on top of Cryptography API: Next Generation (CNG).
2020-03-02 16:32:51 +01:00
Christoph M. Becker
a7400d5fd3
Abstract over crypto operations
2020-03-02 16:26:53 +01:00
Nikita Popov
172010a08d
Merge branch 'PHP-7.4'
...
* PHP-7.4:
Don't use VLA in mysqlnd auth
2020-02-18 16:18:50 +01:00
Nikita Popov
9d31a42a30
Don't use VLA in mysqlnd auth
...
We use alloca instead of VLA. This should also allow building
this code on Windows.
2020-02-18 16:17:56 +01:00
George Peter Banyard
01957adb7f
Fix [-Wmissing-field-initializers] compiler warning in mysqlnd_result.c
...
Explicitly initialize to NULL the unused pointers to preserve
ABI forwards compatibility.
2020-02-10 12:14:47 +01:00
Christoph M. Becker
7e5a8d9faa
Merge branch 'PHP-7.4'
...
* PHP-7.4:
Fix #79172 : STRUCT_OFFSET() relies on undefined behavior
2020-01-28 09:19:45 +01:00
Christoph M. Becker
412b476b7f
Fix #79172 : STRUCT_OFFSET() relies on undefined behavior
...
Since this pattern is understood by compilers, not a real issue, but
certainly cleaner this way.
2020-01-28 09:18:05 +01:00