1
0
mirror of https://github.com/mariadb-corporation/mariadb-connector-c.git synced 2025-08-07 02:42:49 +03:00

Fixed segfault:

Use rpl->host and port instead of mysql->options.
This commit is contained in:
Georg Richter
2023-02-22 11:32:21 +01:00
parent 9890d34612
commit dbb4d8d93b
2 changed files with 14 additions and 3 deletions

View File

@@ -763,13 +763,13 @@ int STDCALL mariadb_rpl_open(MARIADB_RPL *rpl)
4 source server id (unused)
*/
unsigned char *p, buffer[1024];
size_t len= MIN(strlen(rpl->mysql->options.extension->rpl_host), 255);
size_t len= MIN(strlen(rpl->host), 255);
p= buffer;
int4store(p, rpl->server_id);
p+= 4;
*p++= (unsigned char)len;
memcpy(p, rpl->mysql->options.extension->rpl_host, len);
memcpy(p, rpl->host, len);
p+= len;
/* Don't send user, password, rank and server_id */

View File

@@ -136,13 +136,24 @@ static int test_rpl_semisync(MYSQL *my __attribute__((unused)))
rpl = mariadb_rpl_init(mysql);
mariadb_rpl_optionsv(rpl, MARIADB_RPL_HOST, "foo");
mysql_query(mysql, "SET @mariadb_slave_capability=4");
mysql_query(mysql, "SET NAMES latin1");
mysql_query(mysql, "SET @slave_gtid_strict_mode=1");
mysql_query(mysql, "SET @slave_gtid_ignore_duplicates=1");
mysql_query(mysql, "SET NAMES utf8");
mysql_query(mysql, "SET @master_binlog_checksum= @@global.binlog_checksum");
rpl->server_id= 12;
rpl->start_position= 4;
rpl->flags= MARIADB_RPL_BINLOG_SEND_ANNOTATE_ROWS;
mysql_query(mysql, "SET @mariadb_slave_capability=4");
mysql_query(mysql, "SET NAMES latin1");
mysql_query(mysql, "SET @slave_gtid_strict_mode=1");
mysql_query(mysql, "SET @slave_gtid_ignore_duplicates=1");
mysql_query(mysql, "SET NAMES utf8");
mysql_query(mysql, "SET @master_binlog_checksum= @@global.binlog_checksum");
mysql_query(mysql, "SET @rpl_semi_sync_slave=1");
rpl->server_id= 12;
rpl->start_position= 4;
rpl->flags= MARIADB_RPL_BINLOG_SEND_ANNOTATE_ROWS;