From 3750b0cff5ab1c41076afdf8275e3fa20aa756d0 Mon Sep 17 00:00:00 2001 From: Zdenek Kabelac Date: Fri, 21 Dec 2018 20:12:40 +0100 Subject: [PATCH] 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. --- 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 ca46d9a67..80cb42b57 100644 --- a/libdm/libdm-stats.c +++ b/libdm/libdm-stats.c @@ -4869,24 +4869,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; }