You've already forked mariadb-connector-c
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:
@@ -763,13 +763,13 @@ int STDCALL mariadb_rpl_open(MARIADB_RPL *rpl)
|
|||||||
4 source server id (unused)
|
4 source server id (unused)
|
||||||
*/
|
*/
|
||||||
unsigned char *p, buffer[1024];
|
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;
|
p= buffer;
|
||||||
int4store(p, rpl->server_id);
|
int4store(p, rpl->server_id);
|
||||||
p+= 4;
|
p+= 4;
|
||||||
*p++= (unsigned char)len;
|
*p++= (unsigned char)len;
|
||||||
memcpy(p, rpl->mysql->options.extension->rpl_host, len);
|
memcpy(p, rpl->host, len);
|
||||||
p+= len;
|
p+= len;
|
||||||
|
|
||||||
/* Don't send user, password, rank and server_id */
|
/* Don't send user, password, rank and server_id */
|
||||||
|
@@ -136,13 +136,24 @@ static int test_rpl_semisync(MYSQL *my __attribute__((unused)))
|
|||||||
|
|
||||||
rpl = mariadb_rpl_init(mysql);
|
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 @mariadb_slave_capability=4");
|
||||||
mysql_query(mysql, "SET NAMES latin1");
|
mysql_query(mysql, "SET NAMES latin1");
|
||||||
mysql_query(mysql, "SET @slave_gtid_strict_mode=1");
|
mysql_query(mysql, "SET @slave_gtid_strict_mode=1");
|
||||||
mysql_query(mysql, "SET @slave_gtid_ignore_duplicates=1");
|
mysql_query(mysql, "SET @slave_gtid_ignore_duplicates=1");
|
||||||
mysql_query(mysql, "SET NAMES utf8");
|
mysql_query(mysql, "SET NAMES utf8");
|
||||||
mysql_query(mysql, "SET @master_binlog_checksum= @@global.binlog_checksum");
|
mysql_query(mysql, "SET @master_binlog_checksum= @@global.binlog_checksum");
|
||||||
mysql_query(mysql, "SET @rpl_semi_sync_slave=1");
|
|
||||||
rpl->server_id= 12;
|
rpl->server_id= 12;
|
||||||
rpl->start_position= 4;
|
rpl->start_position= 4;
|
||||||
rpl->flags= MARIADB_RPL_BINLOG_SEND_ANNOTATE_ROWS;
|
rpl->flags= MARIADB_RPL_BINLOG_SEND_ANNOTATE_ROWS;
|
||||||
|
Reference in New Issue
Block a user