mirror of
https://github.com/MariaDB/server.git
synced 2026-05-16 20:07:13 +02:00
MDEV-7397: SIGSEGV on inserting into a key-less table
When wsrep is enabled, an md5 hash of the entire row is calculated for tables with no PK. It, however segfaulted as the md5 context object was not properly constructed. Fixed by ensuring that the YaSSL's context object gets constructed explicitly at the specified pre-allocated location (placement) before its used. Added a test case.
This commit is contained in:
parent
dc92032fa3
commit
61f73d40ca
3 changed files with 40 additions and 0 deletions
|
|
@ -27,4 +27,21 @@ c1
|
|||
4
|
||||
5
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# MDEV-7397: SIGSEGV on inserting into a key-less table
|
||||
#
|
||||
|
||||
# On node_1
|
||||
USE test;
|
||||
CREATE TABLE t1(c1 INT) ENGINE=INNODB;
|
||||
INSERT INTO t1 VALUES (1);
|
||||
SELECT * FROM t1;
|
||||
c1
|
||||
1
|
||||
|
||||
# On node_2
|
||||
SELECT * FROM test.t1;
|
||||
c1
|
||||
1
|
||||
DROP TABLE t1;
|
||||
# End of test
|
||||
|
|
|
|||
|
|
@ -22,5 +22,27 @@ SELECT * FROM test.t1;
|
|||
# Cleanup
|
||||
DROP TABLE t1;
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-7397: SIGSEGV on inserting into a key-less table
|
||||
--echo #
|
||||
|
||||
--echo
|
||||
--echo # On node_1
|
||||
--connection node_1
|
||||
USE test;
|
||||
CREATE TABLE t1(c1 INT) ENGINE=INNODB;
|
||||
INSERT INTO t1 VALUES (1);
|
||||
SELECT * FROM t1;
|
||||
|
||||
--echo
|
||||
--echo # On node_2
|
||||
--connection node_2
|
||||
SELECT * FROM test.t1;
|
||||
|
||||
--let $galera_diff_statement = SELECT * FROM t1
|
||||
--source include/galera_diff.inc
|
||||
# Cleanup
|
||||
DROP TABLE t1;
|
||||
|
||||
--source include/galera_end.inc
|
||||
--echo # End of test
|
||||
|
|
|
|||
|
|
@ -34,6 +34,7 @@ typedef TaoCrypt::MD5 MD5_CTX;
|
|||
|
||||
static void md5_init(MD5_CTX *context)
|
||||
{
|
||||
context= new(context) MD5_CTX;
|
||||
context->Init();
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue