From 63a8d72736aec13ae90eb1a425ffd2078e5236ad Mon Sep 17 00:00:00 2001 From: Arjun Date: Mon, 22 Oct 2018 13:08:53 +0530 Subject: src/glusterd-snapshot-utils.c: dereferencing the snap_vol before freeing it The patch fixes CID: 1325520 Change-Id: Ic7d3fac6adabe96d1d44f13b57d6dc67da0476d1 updates: bz#789278 Signed-off-by: Arjun --- .../mgmt/glusterd/src/glusterd-snapshot-utils.c | 30 +++++++++++----------- 1 file changed, 15 insertions(+), 15 deletions(-) (limited to 'xlators/mgmt/glusterd/src/glusterd-snapshot-utils.c') diff --git a/xlators/mgmt/glusterd/src/glusterd-snapshot-utils.c b/xlators/mgmt/glusterd/src/glusterd-snapshot-utils.c index 19ccefa7d2f..5a9e198454d 100644 --- a/xlators/mgmt/glusterd/src/glusterd-snapshot-utils.c +++ b/xlators/mgmt/glusterd/src/glusterd-snapshot-utils.c @@ -81,43 +81,43 @@ glusterd_cleanup_snaps_for_volume(glusterd_volinfo_t *volinfo) cds_list_for_each_entry_safe(snap_vol, dummy_snap_vol, &volinfo->snap_volumes, snapvol_list) { - ret = glusterd_store_delete_volume(snap_vol); + snap = snap_vol->snapshot; + ret = glusterd_store_delete_snap(snap); if (ret) { gf_msg(this->name, GF_LOG_WARNING, 0, GD_MSG_VOL_DELETE_FAIL, "Failed to remove " - "volume %s from store", - snap_vol->volname); + "snap %s from store", + snap->snapname); op_ret = ret; continue; } - ret = glusterd_volinfo_delete(snap_vol); + ret = glusterd_snapobject_delete(snap); if (ret) { gf_msg(this->name, GF_LOG_WARNING, 0, GD_MSG_VOL_DELETE_FAIL, - "Failed to remove " - "volinfo %s ", - snap_vol->volname); + "Failed to delete " + "snap object %s", + snap->snapname); op_ret = ret; continue; } - snap = snap_vol->snapshot; - ret = glusterd_store_delete_snap(snap); + ret = glusterd_store_delete_volume(snap_vol); if (ret) { gf_msg(this->name, GF_LOG_WARNING, 0, GD_MSG_VOL_DELETE_FAIL, "Failed to remove " - "snap %s from store", - snap->snapname); + "volume %s from store", + snap_vol->volname); op_ret = ret; continue; } - ret = glusterd_snapobject_delete(snap); + ret = glusterd_volinfo_delete(snap_vol); if (ret) { gf_msg(this->name, GF_LOG_WARNING, 0, GD_MSG_VOL_DELETE_FAIL, - "Failed to delete " - "snap object %s", - snap->snapname); + "Failed to remove " + "volinfo %s ", + snap_vol->volname); op_ret = ret; continue; } -- cgit