diff --git a/src/cfgparse.c b/src/cfgparse.c index 9a0861736..b0d1f5df8 100644 --- a/src/cfgparse.c +++ b/src/cfgparse.c @@ -883,7 +883,7 @@ int cfg_parse_peers(const char *file, int linenum, char **args, int kwm) * followed by a '/' character and the table name argument. */ chunk_reset(&trash); - if (!chunk_strcpy(&trash, curpeers->id) || !chunk_memcat(&trash, "/", 1)) { + if (!chunk_strcpy(&trash, curpeers->id)) { ha_alert("parsing [%s:%d]: '%s %s' : stick-table name too long.\n", file, linenum, args[0], args[1]); err_code |= ERR_ALERT | ERR_FATAL; @@ -891,7 +891,7 @@ int cfg_parse_peers(const char *file, int linenum, char **args, int kwm) } prefix_len = trash.data; - if (!chunk_strcat(&trash, args[1])) { + if (!chunk_memcat(&trash, "/", 1) || !chunk_strcat(&trash, args[1])) { ha_alert("parsing [%s:%d]: '%s %s' : stick-table name too long.\n", file, linenum, args[0], args[1]); err_code |= ERR_ALERT | ERR_FATAL; diff --git a/src/peers.c b/src/peers.c index 1cb7fe9fe..2a9fde1cc 100644 --- a/src/peers.c +++ b/src/peers.c @@ -524,9 +524,9 @@ static int peer_prepare_switchmsg(char *msg, size_t size, struct peer_prep_param intencode(st->local_id, &cursor); /* encode table name */ - len = strlen(st->table->id); + len = strlen(st->table->nid); intencode(len, &cursor); - memcpy(cursor, st->table->id, len); + memcpy(cursor, st->table->nid, len); cursor += len; /* encode table type */ @@ -1483,8 +1483,8 @@ static inline int peer_treat_definemsg(struct appctx *appctx, struct peer *p, if (st->remote_id == table_id) st->remote_id = 0; - if (!p->remote_table && (table_id_len == strlen(st->table->id)) && - (memcmp(st->table->id, *msg_cur, table_id_len) == 0)) + if (!p->remote_table && (table_id_len == strlen(st->table->nid)) && + (memcmp(st->table->nid, *msg_cur, table_id_len) == 0)) p->remote_table = st; }