diff options
| -rw-r--r-- | xlators/mgmt/glusterd/src/glusterd-mgmt.c | 5 | ||||
| -rw-r--r-- | xlators/mgmt/glusterd/src/glusterd-syncop.c | 4 | 
2 files changed, 6 insertions, 3 deletions
diff --git a/xlators/mgmt/glusterd/src/glusterd-mgmt.c b/xlators/mgmt/glusterd/src/glusterd-mgmt.c index 175677e8e9f..61ad66ee6ec 100644 --- a/xlators/mgmt/glusterd/src/glusterd-mgmt.c +++ b/xlators/mgmt/glusterd/src/glusterd-mgmt.c @@ -1330,8 +1330,9 @@ out:      if (rsp.op_errstr)          free(rsp.op_errstr); -    if (rsp.dict.dict_val) -        free(rsp.dict.dict_val); +    if (rsp_dict) +        dict_unref(rsp_dict); +      GF_FREE(peerid);      /* req->rpc_status set to -1 means, STACK_DESTROY will be called from       * the caller function. diff --git a/xlators/mgmt/glusterd/src/glusterd-syncop.c b/xlators/mgmt/glusterd/src/glusterd-syncop.c index 4bf11e065e3..45b221c2e58 100644 --- a/xlators/mgmt/glusterd/src/glusterd-syncop.c +++ b/xlators/mgmt/glusterd/src/glusterd-syncop.c @@ -1653,6 +1653,7 @@ gd_brick_op_phase(glusterd_op_t op, dict_t *op_ctx, dict_t *req_dict,                    char **op_errstr)  {      glusterd_pending_node_t *pending_node = NULL; +    glusterd_pending_node_t *tmp = NULL;      struct cds_list_head selected = {          0,      }; @@ -1690,7 +1691,7 @@ gd_brick_op_phase(glusterd_op_t op, dict_t *op_ctx, dict_t *req_dict,      rsp_dict = NULL;      brick_count = 0; -    cds_list_for_each_entry(pending_node, &selected, list) +    cds_list_for_each_entry_safe(pending_node, tmp, &selected, list)      {          rpc = glusterd_pending_node_get_rpc(pending_node);          if (!rpc) { @@ -1747,6 +1748,7 @@ gd_brick_op_phase(glusterd_op_t op, dict_t *op_ctx, dict_t *req_dict,          brick_count++;          glusterd_pending_node_put_rpc(pending_node); +        GF_FREE(pending_node);      }      pending_node = NULL;  | 
