From ebb978b547c4593de34d259e745824f12672614d Mon Sep 17 00:00:00 2001 From: root Date: Wed, 13 Mar 2019 14:46:45 +0800 Subject: [PATCH 15/17] stats: fix error path when region is NULL We should not call _stats_cleanup_region_ids() when regions are NULL. Also add backtracing for goto. (cherry picked from commit 3750b0cff5ab1c41076afdf8275e3fa20aa756d0) --- libdm/libdm-stats.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/libdm/libdm-stats.c b/libdm/libdm-stats.c index 6b4e3d8..ec9801a 100644 --- a/libdm/libdm-stats.c +++ b/libdm/libdm-stats.c @@ -4867,24 +4867,24 @@ uint64_t *dm_stats_update_regions_from_fd(struct dm_stats *dms, int fd, group_id, &count, ®roup); if (!regions) - goto bad; + goto_out; if (!dm_stats_list(dms, NULL)) - goto bad; + goto_bad; /* regroup if there are regions to group */ if (regroup && (*regions != DM_STATS_REGION_NOT_PRESENT)) if (!_stats_group_file_regions(dms, regions, count, alias)) - goto bad; + goto_bad; dm_free(bounds); dm_free((char *) alias); return regions; bad: _stats_cleanup_region_ids(dms, regions, count); - dm_free(bounds); - dm_free(regions); out: + dm_free(regions); + dm_free(bounds); dm_free((char *) alias); return NULL; } -- 2.19.1