Repository: qpid-dispatch
Updated Branches:
  refs/heads/tross-DISPATCH-179-1-QDMESSAGE-MEMLEAK [created] 0513bd685


DISPATCH-179 - Fixed memory leak of qd_message_t objects when doing management 
requests


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

Branch: refs/heads/tross-DISPATCH-179-1-QDMESSAGE-MEMLEAK
Commit: 2437acf8c2617c243ccc98f73003d66ed851e13b
Parents: 75390ae
Author: Ganesh Murthy <gmur...@redhat.com>
Authored: Thu Feb 25 14:45:07 2016 -0500
Committer: Ganesh Murthy <gmur...@redhat.com>
Committed: Thu Feb 25 14:45:07 2016 -0500

----------------------------------------------------------------------
 src/router_core/forwarder.c        | 3 +++
 src/router_core/management_agent.c | 5 ++++-
 2 files changed, 7 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/qpid-dispatch/blob/2437acf8/src/router_core/forwarder.c
----------------------------------------------------------------------
diff --git a/src/router_core/forwarder.c b/src/router_core/forwarder.c
index fc3f4c1..e2a0897 100644
--- a/src/router_core/forwarder.c
+++ b/src/router_core/forwarder.c
@@ -92,6 +92,7 @@ void qdr_forward_deliver_CT(qdr_core_t *core, qdr_link_t 
*link, qdr_delivery_t *
 void qdr_forward_on_message(qdr_core_t *core, qdr_general_work_t *work)
 {
     work->on_message(work->on_message_context, work->msg, work->maskbit);
+    qd_message_free(work->msg);
 }
 
 
@@ -323,6 +324,8 @@ int qdr_forward_closest_CT(qdr_core_t      *core,
         }
     }
 
+
+
     return 0;
 }
 

http://git-wip-us.apache.org/repos/asf/qpid-dispatch/blob/2437acf8/src/router_core/management_agent.c
----------------------------------------------------------------------
diff --git a/src/router_core/management_agent.c 
b/src/router_core/management_agent.c
index 76d25bc..7bd0b9a 100644
--- a/src/router_core/management_agent.c
+++ b/src/router_core/management_agent.c
@@ -97,7 +97,7 @@ static qd_management_context_t* 
qd_management_context(qd_message_t
     ctx->count  = count;
     ctx->field  = field;
     ctx->msg    = msg;
-    ctx->source = source;
+    ctx->source = qd_message_copy(source);
     ctx->query  = query;
     ctx->current_count = 0;
     ctx->core   = core;
@@ -195,6 +195,9 @@ static void qd_manage_response_handler(void *context, const 
qd_amqp_error_t *sta
 
     if (ctx->msg)
         qd_message_free(ctx->msg);
+    if(ctx->source)
+        qd_message_free(ctx->source);
+
     free_qd_management_context_t(ctx);
 }
 


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

Reply via email to