You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by gm...@apache.org on 2017/01/04 22:32:44 UTC

qpid-dispatch git commit: DISPATCH-596 - Additional fix for qdr_error_t objects being leaked

Repository: qpid-dispatch
Updated Branches:
  refs/heads/master fcc370e66 -> 29f4195fa


DISPATCH-596 - Additional fix for qdr_error_t objects being leaked


Project: http://git-wip-us.apache.org/repos/asf/qpid-dispatch/repo
Commit: http://git-wip-us.apache.org/repos/asf/qpid-dispatch/commit/29f4195f
Tree: http://git-wip-us.apache.org/repos/asf/qpid-dispatch/tree/29f4195f
Diff: http://git-wip-us.apache.org/repos/asf/qpid-dispatch/diff/29f4195f

Branch: refs/heads/master
Commit: 29f4195fa41d133d384ebfe812e67b0c171321b3
Parents: fcc370e
Author: Ganesh Murthy <gm...@redhat.com>
Authored: Wed Jan 4 17:32:23 2017 -0500
Committer: Ganesh Murthy <gm...@redhat.com>
Committed: Wed Jan 4 17:32:23 2017 -0500

----------------------------------------------------------------------
 src/router_core/transfer.c | 4 ++++
 1 file changed, 4 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/qpid-dispatch/blob/29f4195f/src/router_core/transfer.c
----------------------------------------------------------------------
diff --git a/src/router_core/transfer.c b/src/router_core/transfer.c
index 0f18968..ff342f5 100644
--- a/src/router_core/transfer.c
+++ b/src/router_core/transfer.c
@@ -658,6 +658,7 @@ static void qdr_update_delivery_CT(qdr_core_t *core, qdr_action_t *action, bool
     uint64_t        disp       = action->args.delivery.disposition;
     bool            settled    = action->args.delivery.settled;
     qdr_error_t    *error      = action->args.delivery.error;
+    bool error_unassigned      = true;
 
     //
     // Logic:
@@ -676,6 +677,7 @@ static void qdr_update_delivery_CT(qdr_core_t *core, qdr_action_t *action, bool
             peer->disposition = disp;
             peer->error       = error;
             push = true;
+            error_unassigned = false;
         }
     }
 
@@ -714,6 +716,8 @@ static void qdr_update_delivery_CT(qdr_core_t *core, qdr_action_t *action, bool
         qdr_delivery_decref(dlv);
     if (peer_moved)
         qdr_delivery_decref(peer);
+    if (error_unassigned)
+        qdr_error_free(error);
 }
 
 


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org