From 4c246c02f4ab569fca92255b7efb819243711d6b Mon Sep 17 00:00:00 2001 From: Mohammed Junaid Ahmed Date: Mon, 28 Mar 2011 07:21:51 +0000 Subject: mgmt/glusterd: Fix double free on quota limit-usage. Signed-off-by: Junaid Signed-off-by: Vijay Bellur BUG: 2595 (Quota: re-setting the space-limit crashes the glusterd on the same node) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2595 --- xlators/mgmt/glusterd/src/glusterd-op-sm.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/xlators/mgmt/glusterd/src/glusterd-op-sm.c b/xlators/mgmt/glusterd/src/glusterd-op-sm.c index 462671ae7..29c8d86e9 100644 --- a/xlators/mgmt/glusterd/src/glusterd-op-sm.c +++ b/xlators/mgmt/glusterd/src/glusterd-op-sm.c @@ -4058,7 +4058,7 @@ _glusterd_quota_remove_limits (char **quota_limits, char *path) memcpy ((void *) &limits [i], (void *) &qlimits [i], size + 1); } else { skiplen = size + 1; - size = len - i - size + 1; + size = len - i - size; memcpy ((void *) &limits [i], (void *) &qlimits [i + skiplen], size); break; } @@ -4436,7 +4436,7 @@ glusterd_quota_limit_usage (glusterd_volinfo_t *volinfo, dict_t *dict, char **op quota_limits = value; - ret = dict_set_dynstr (volinfo->dict, "features.limit-usage", + ret = dict_set_str (volinfo->dict, "features.limit-usage", quota_limits); if (ret) { gf_log ("", GF_LOG_ERROR, "Unable to set quota limits" ); @@ -4484,7 +4484,7 @@ glusterd_quota_remove_limits (glusterd_volinfo_t *volinfo, dict_t *dict, char ** goto out; if (quota_limits) { - ret = dict_set_dynstr (volinfo->dict, "features.limit-usage", + ret = dict_set_str (volinfo->dict, "features.limit-usage", quota_limits); if (ret) { gf_log ("", GF_LOG_ERROR, "Unable to set quota limits" ); -- cgit