[php-src] PHP-8.4: ext/mysqlnd: Fix VIO plugin area getter

From: Date: Thu, 01 Oct 2026 14:39:30 +0000
Subject: [php-src] PHP-8.4: ext/mysqlnd: Fix VIO plugin area getter
Groups: php.cvs 
Request: Send a blank email to php-cvs+get-141838@lists.php.net to get a copy of this message
Author: Ilia Alshanetsky (iliaal) Date: 2026-10-01T10:08:41-04:00 Commit: https://github.com/php/php-src/commit/a1e5424af2154432b03a63c7f95b390560ae1489 Raw diff: https://github.com/php/php-src/commit/a1e5424af2154432b03a63c7f95b390560ae1489.diff ext/mysqlnd: Fix VIO plugin area getter mysqlnd_plugin_get_plugin_vio_data() expanded to get_pfc_area(), which offsets by sizeof(MYSQLND_PFC) instead of sizeof(MYSQLND_VIO). The returned slot is two pointers too far, so a plugin reads and writes another plugin's slot or, for the highest plugin ids, the MYSQLND_VIO_DATA allocated right after the area. Call get_vio_area() instead. Closes GH-24043 Changed paths: M ext/mysqlnd/mysqlnd_ext_plugin.h Diff: diff --git a/ext/mysqlnd/mysqlnd_ext_plugin.h b/ext/mysqlnd/mysqlnd_ext_plugin.h index 8780ff463045..9c60ea50356d 100644 --- a/ext/mysqlnd/mysqlnd_ext_plugin.h +++ b/ext/mysqlnd/mysqlnd_ext_plugin.h @@ -42,7 +42,7 @@ PHPAPI extern struct st_mysqlnd_plugin__plugin_area_getters mysqlnd_plugin_area_ #define mysqlnd_plugin_get_plugin_stmt_data(stmt, p_id) mysqlnd_plugin_area_getters.get_stmt_area((stmt), (p_id)) #define mysqlnd_plugin_get_plugin_protocol_data(proto, p_id) mysqlnd_plugin_area_getters.get_protocol_decoder_area((proto), (p_id)) #define mysqlnd_plugin_get_plugin_pfc_data(pfc, p_id) mysqlnd_plugin_area_getters.get_pfc_area((pfc), (p_id)) -#define mysqlnd_plugin_get_plugin_vio_data(vio, p_id) mysqlnd_plugin_area_getters.get_pfc_area((vio), (p_id)) +#define mysqlnd_plugin_get_plugin_vio_data(vio, p_id) mysqlnd_plugin_area_getters.get_vio_area((vio), (p_id)) struct st_mysqlnd_plugin_methods_xetters

« previous php.cvs (#141838) next »