Repository: qpid-dispatch Updated Branches: refs/heads/tross-DISPATCH-179-1 8fb13f56c -> 6dfb3dc18
DISPATCH-179 - Fixed crash in link-route create via management protocol. Project: http://git-wip-us.apache.org/repos/asf/qpid-dispatch/repo Commit: http://git-wip-us.apache.org/repos/asf/qpid-dispatch/commit/b3e011e3 Tree: http://git-wip-us.apache.org/repos/asf/qpid-dispatch/tree/b3e011e3 Diff: http://git-wip-us.apache.org/repos/asf/qpid-dispatch/diff/b3e011e3 Branch: refs/heads/tross-DISPATCH-179-1 Commit: b3e011e3fb82630f7df68bb97228f587541e3fca Parents: 8fb13f5 Author: Ted Ross <[email protected]> Authored: Thu Mar 17 07:11:18 2016 -0400 Committer: Ted Ross <[email protected]> Committed: Thu Mar 17 07:11:18 2016 -0400 ---------------------------------------------------------------------- src/router_core/agent_config_auto_link.c | 2 +- src/router_core/agent_config_link_route.c | 2 +- src/router_core/route_control.c | 16 ++++++++------- src/router_core/route_control.h | 28 +++++++++++++------------- 4 files changed, 25 insertions(+), 23 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/qpid-dispatch/blob/b3e011e3/src/router_core/agent_config_auto_link.c ---------------------------------------------------------------------- diff --git a/src/router_core/agent_config_auto_link.c b/src/router_core/agent_config_auto_link.c index b18fb90..d81c6a4 100644 --- a/src/router_core/agent_config_auto_link.c +++ b/src/router_core/agent_config_auto_link.c @@ -78,7 +78,7 @@ static void qdr_config_auto_link_insert_column_CT(qdr_auto_link_t *al, int col, case QDR_CONFIG_AUTO_LINK_ADDR: key = (const char*) qd_hash_key_by_handle(al->addr->hash_handle); if (key && key[0] == 'M') - qd_compose_insert_string(body, &key[1]); + qd_compose_insert_string(body, &key[2]); else qd_compose_insert_null(body); break; http://git-wip-us.apache.org/repos/asf/qpid-dispatch/blob/b3e011e3/src/router_core/agent_config_link_route.c ---------------------------------------------------------------------- diff --git a/src/router_core/agent_config_link_route.c b/src/router_core/agent_config_link_route.c index bfdc70f..b3397db 100644 --- a/src/router_core/agent_config_link_route.c +++ b/src/router_core/agent_config_link_route.c @@ -373,7 +373,7 @@ void qdra_config_link_route_create_CT(qdr_core_t *core, bool is_container = !!container_field; qd_parsed_field_t *in_use_conn = is_container ? container_field : connection_field; - qdr_route_add_link_route_CT(core, name, prefix_field, in_use_conn, is_container, trt, dir); + lr = qdr_route_add_link_route_CT(core, name, prefix_field, in_use_conn, is_container, trt, dir); // // Compose the result map for the response. http://git-wip-us.apache.org/repos/asf/qpid-dispatch/blob/b3e011e3/src/router_core/route_control.c ---------------------------------------------------------------------- diff --git a/src/router_core/route_control.c b/src/router_core/route_control.c index 9ddad29..23bda17 100644 --- a/src/router_core/route_control.c +++ b/src/router_core/route_control.c @@ -150,13 +150,13 @@ static void qdr_auto_link_deactivate_CT(qdr_core_t *core, qdr_auto_link_t *al, q } -void qdr_route_add_link_route_CT(qdr_core_t *core, - qd_field_iterator_t *name, - qd_parsed_field_t *prefix_field, - qd_parsed_field_t *conn_id, - bool is_container, - qd_address_treatment_t treatment, - qd_direction_t dir) +qdr_link_route_t *qdr_route_add_link_route_CT(qdr_core_t *core, + qd_field_iterator_t *name, + qd_parsed_field_t *prefix_field, + qd_parsed_field_t *conn_id, + bool is_container, + qd_address_treatment_t treatment, + qd_direction_t dir) { qdr_link_route_t *lr = new_qdr_link_route_t(); @@ -197,6 +197,8 @@ void qdr_route_add_link_route_CT(qdr_core_t *core, // Add the link route to the core list // DEQ_INSERT_TAIL(core->link_routes, lr); + + return lr; } http://git-wip-us.apache.org/repos/asf/qpid-dispatch/blob/b3e011e3/src/router_core/route_control.h ---------------------------------------------------------------------- diff --git a/src/router_core/route_control.h b/src/router_core/route_control.h index 34b8bd9..f5a8359 100644 --- a/src/router_core/route_control.h +++ b/src/router_core/route_control.h @@ -21,23 +21,23 @@ #include "router_core_private.h" -void qdr_route_add_link_route_CT(qdr_core_t *core, - qd_field_iterator_t *name, - qd_parsed_field_t *prefix_field, - qd_parsed_field_t *conn_id, - bool is_container, - qd_address_treatment_t treatment, - qd_direction_t dir); +qdr_link_route_t *qdr_route_add_link_route_CT(qdr_core_t *core, + qd_field_iterator_t *name, + qd_parsed_field_t *prefix_field, + qd_parsed_field_t *conn_id, + bool is_container, + qd_address_treatment_t treatment, + qd_direction_t dir); void qdr_route_del_link_route_CT(qdr_core_t *core, qdr_link_route_t *lr); -qdr_auto_link_t *qdr_route_add_auto_link_CT(qdr_core_t *core, - qd_field_iterator_t *name, - qd_parsed_field_t *addr_field, - qd_direction_t dir, - int phase, - qd_parsed_field_t *conn_id, - bool is_container); +qdr_auto_link_t *qdr_route_add_auto_link_CT(qdr_core_t *core, + qd_field_iterator_t *name, + qd_parsed_field_t *addr_field, + qd_direction_t dir, + int phase, + qd_parsed_field_t *conn_id, + bool is_container); void qdr_route_del_auto_link_CT(qdr_core_t *core, qdr_auto_link_t *auto_link); --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
