You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by tr...@apache.org on 2017/03/22 16:20:12 UTC
qpid-dispatch git commit: DISPATCH-730 - Fixed several
Coverity-flagged bugs.
Repository: qpid-dispatch
Updated Branches:
refs/heads/master adc3ca6a4 -> 0c6359981
DISPATCH-730 - Fixed several Coverity-flagged bugs.
Project: http://git-wip-us.apache.org/repos/asf/qpid-dispatch/repo
Commit: http://git-wip-us.apache.org/repos/asf/qpid-dispatch/commit/0c635998
Tree: http://git-wip-us.apache.org/repos/asf/qpid-dispatch/tree/0c635998
Diff: http://git-wip-us.apache.org/repos/asf/qpid-dispatch/diff/0c635998
Branch: refs/heads/master
Commit: 0c6359981b3c642e2d5ed3c4ddc66a9299a54c95
Parents: adc3ca6
Author: Ted Ross <tr...@redhat.com>
Authored: Wed Mar 22 11:44:48 2017 -0400
Committer: Ted Ross <tr...@redhat.com>
Committed: Wed Mar 22 11:44:48 2017 -0400
----------------------------------------------------------------------
src/router_core/agent.c | 4 ++--
src/router_core/connections.c | 9 +++++++--
src/router_core/transfer.c | 6 +++---
3 files changed, 12 insertions(+), 7 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/qpid-dispatch/blob/0c635998/src/router_core/agent.c
----------------------------------------------------------------------
diff --git a/src/router_core/agent.c b/src/router_core/agent.c
index fe1ecca..e53beae 100644
--- a/src/router_core/agent.c
+++ b/src/router_core/agent.c
@@ -272,8 +272,8 @@ static void qdr_agent_set_columns(qdr_query_t *query,
// Either the attribute_names field is absent, it's not a list, or it's an empty list.
// In this case, we will include all available attributes.
//
- if (column_count > QDR_AGENT_MAX_COLUMNS)
- column_count = QDR_AGENT_MAX_COLUMNS;
+ if (column_count >= QDR_AGENT_MAX_COLUMNS)
+ column_count = QDR_AGENT_MAX_COLUMNS - 1;
int i;
for (i = 0; i < column_count; i++)
query->columns[i] = i;
http://git-wip-us.apache.org/repos/asf/qpid-dispatch/blob/0c635998/src/router_core/connections.c
----------------------------------------------------------------------
diff --git a/src/router_core/connections.c b/src/router_core/connections.c
index 5d80bf1..38ec82f 100644
--- a/src/router_core/connections.c
+++ b/src/router_core/connections.c
@@ -198,6 +198,7 @@ int qdr_connection_process(qdr_connection_t *conn)
qdr_link_ref_t *ref;
qdr_link_t *link;
+ bool free_link;
int event_count = 0;
@@ -229,6 +230,7 @@ int qdr_connection_process(qdr_connection_t *conn)
do {
qdr_link_work_t *link_work;
+ free_link = false;
sys_mutex_lock(conn->work_lock);
ref = DEQ_HEAD(conn->links_with_work);
@@ -270,7 +272,7 @@ int qdr_connection_process(qdr_connection_t *conn)
case QDR_LINK_WORK_SECOND_DETACH :
core->detach_handler(core->user_context, link, link_work->error, false, link_work->close_link);
- free_qdr_link_t(link);
+ free_link = true;
break;
}
@@ -305,8 +307,11 @@ int qdr_connection_process(qdr_connection_t *conn)
dref = DEQ_HEAD(updated_deliveries);
event_count++;
}
+
+ if (free_link)
+ free_qdr_link_t(link);
}
- } while (link);
+ } while (free_link || link);
return event_count;
}
http://git-wip-us.apache.org/repos/asf/qpid-dispatch/blob/0c635998/src/router_core/transfer.c
----------------------------------------------------------------------
diff --git a/src/router_core/transfer.c b/src/router_core/transfer.c
index 66ab3d8..40d4c45 100644
--- a/src/router_core/transfer.c
+++ b/src/router_core/transfer.c
@@ -708,14 +708,14 @@ static void qdr_update_delivery_CT(qdr_core_t *core, qdr_action_t *action, bool
peer->peer = 0;
dlv->peer = 0;
- qdr_delivery_decref_CT(core, dlv);
- qdr_delivery_decref_CT(core, peer);
-
if (peer->link) {
peer_moved = qdr_delivery_settled_CT(core, peer);
if (peer_moved)
push = true;
}
+
+ qdr_delivery_decref_CT(core, dlv);
+ qdr_delivery_decref_CT(core, peer);
}
if (dlv->link)
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org