mariadb/storage/spider
Yuchen Pei 1f306d395d
MDEV-34849 Spider: update conn->queue_connect_share when needed
Update conn->queue_connect_share in spider_check_trx_and_get_conn to
avoid use-after-free.

There are two branches in spider_check_trx_and_get_conn, often called
at the beginning of a spider DML, depending on whether an update of
various spider fields is needed. If it is determined to be needed, the
updating may NULL the connections associated with the spider handler,
which subsequently causes a call to spider_get_conn() which updates
conn->queued_connect_share with the SPIDER_SHARE associated with the
spider handler.

We make it so that conn->queued_connect_share is updated regardless of
the branch it enters, so that it will not be a stale and potentially
already freed one.
2025-01-22 11:20:07 +11:00
..
mysql-test/spider MDEV-34849 Spider: update conn->queue_connect_share when needed 2025-01-22 11:20:07 +11:00
CMakeLists.txt MDEV-26912 Spider: Remove dead code related to Oracle OCI 2024-10-15 14:30:40 +11:00
configure.in
ha_spider.cc MDEV-34849 Spider: do not change the first byte of a connection key 2025-01-22 11:20:06 +11:00
ha_spider.h MDEV-28526 Spider: remove conn_kind member variables 2025-01-22 11:20:06 +11:00
spd_conn.cc MDEV-34849 Clean up spider_check_trx_and_get_conn() 2025-01-22 11:20:07 +11:00
spd_conn.h MDEV-28526 Spider: remove conn_kind member variables 2025-01-22 11:20:06 +11:00
spd_copy_tables.cc MDEV-28526 Spider: remove conn_kind member variables 2025-01-22 11:20:06 +11:00
spd_copy_tables.h
spd_db_conn.cc MDEV-28526 Spider: remove conn_kind member variables 2025-01-22 11:20:06 +11:00
spd_db_conn.h MDEV-28526 Spider: remove conn_kind member variables 2025-01-22 11:20:06 +11:00
spd_db_include.cc MDEV-26178 spider: delete spd_environ.h 2024-09-10 11:15:18 +10:00
spd_db_include.h MDEV-28526 Spider: remove conn_kind member variables 2025-01-22 11:20:06 +11:00
spd_db_mysql.cc MDEV-28526 Spider: remove conn_kind member variables 2025-01-22 11:20:06 +11:00
spd_db_mysql.h MDEV-26345 Spider GBH should execute original queries on the data node 2024-10-15 15:36:12 +11:00
spd_direct_sql.cc MDEV-28526 Spider: remove conn_kind member variables 2025-01-22 11:20:06 +11:00
spd_direct_sql.h
spd_err.h MDEV-33490 MENT-1504 Fix some english strings in spider. 2024-06-04 12:25:08 +10:00
spd_group_by_handler.cc MDEV-35422 Fix spider group by handler trying to use fake group by fields 2024-12-03 10:32:42 +11:00
spd_group_by_handler.h MDEV-26345 Spider GBH should execute original queries on the data node 2024-10-15 15:36:12 +11:00
spd_i_s.cc MDEV-26178 spider: delete spd_environ.h 2024-09-10 11:15:18 +10:00
spd_include.h MDEV-34849 Clean up spider_check_trx_and_get_conn() 2025-01-22 11:20:07 +11:00
spd_init_query.h MDEV-33538 make auxiliary spider plugins init depend on actual spider 2024-05-03 14:47:54 +10:00
spd_malloc.cc MDEV-26178 spider: delete spd_environ.h 2024-09-10 11:15:18 +10:00
spd_malloc.h
spd_param.cc MDEV-35064 Reduce the default spider connect retry counts to 2 2024-11-27 10:25:14 +11:00
spd_param.h MDEV-27643 Spider: remove #ifdef HA_CAN_BULK_ACCESS 2024-09-10 11:19:19 +10:00
spd_ping_table.cc MDEV-28526 Spider: remove conn_kind member variables 2025-01-22 11:20:06 +11:00
spd_ping_table.h
spd_sys_table.cc MDEV-34716 spider: some trivial cleanups and documentation 2024-10-15 11:04:27 +11:00
spd_sys_table.h Merge branch '10.4' into 10.5 2024-04-16 11:04:14 +02:00
spd_table.cc MDEV-34849 Spider: do not change the first byte of a connection key 2025-01-22 11:20:06 +11:00
spd_table.h MDEV-34348: my_hash_get_key fixes 2024-11-23 08:14:22 -07:00
spd_trx.cc MDEV-34849 Spider: update conn->queue_connect_share when needed 2025-01-22 11:20:07 +11:00
spd_trx.h MDEV-28526 Spider: remove conn_kind member variables 2025-01-22 11:20:06 +11:00
spd_udf.cc MDEV-35735: UBSAN: spider udf functions mismatch with UDF defination 2025-01-12 13:40:18 +11:00
spd_udf.def
spd_udf.h MDEV-35735: UBSAN: spider udf functions mismatch with UDF defination 2025-01-12 13:40:18 +11:00
spider.cnf