summaryrefslogtreecommitdiff
path: root/extras
diff options
context:
space:
mode:
authorTed Ross <tross@apache.org>2013-05-08 12:10:39 +0000
committerTed Ross <tross@apache.org>2013-05-08 12:10:39 +0000
commitc790d3d35f477e5b99035e1bc4b04d61b6068e82 (patch)
treea72925ee630324081aca6c623844bd4a13e20922 /extras
parent94b5022d43d7e5781bebc8861462442ad0c73914 (diff)
downloadqpid-python-c790d3d35f477e5b99035e1bc4b04d61b6068e82.tar.gz
QPID-4816 - Handle link attach with a null target.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1480244 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'extras')
-rw-r--r--extras/dispatch/src/router_node.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/extras/dispatch/src/router_node.c b/extras/dispatch/src/router_node.c
index 872b8363c9..cc96cd5051 100644
--- a/extras/dispatch/src/router_node.c
+++ b/extras/dispatch/src/router_node.c
@@ -310,6 +310,11 @@ static int router_outgoing_link_handler(void* context, dx_link_t *link)
pn_link_t *pn_link = dx_link_pn(link);
const char *r_tgt = pn_terminus_get_address(pn_link_remote_target(pn_link));
+ if (!r_tgt) {
+ pn_link_close(pn_link);
+ return 0;
+ }
+
dx_router_link_t *rlink = new_dx_router_link_t();
rlink->link = link;
DEQ_INIT(rlink->out_fifo);
@@ -391,6 +396,9 @@ static int router_link_detach_handler(void* context, dx_link_t *link, int closed
const char *r_tgt = pn_terminus_get_address(pn_link_remote_target(pn_link));
dx_link_item_t *item;
+ if (!r_tgt)
+ return 0;
+
sys_mutex_lock(router->lock);
if (pn_link_is_sender(pn_link)) {
item = DEQ_HEAD(router->out_links);