1
0
mirror of git://sourceware.org/git/lvm2.git synced 2024-12-21 13:34:40 +03:00

libdm: clear region table in dm_stats_list()

Call _stats_regions_destroy() from dm_stats_list() if dms->regions
is non-NULL. This avoids leaking any pool allocations and ensures
the handle is in a known state: if an error occurs during the list,
dms->regions will be NULL and the handle will appear empty.
This commit is contained in:
Bryn M. Reeves 2016-12-15 19:03:42 +00:00
parent 8d6ac1c3ba
commit 009b711834

View File

@ -1083,6 +1083,9 @@ int dm_stats_list(struct dm_stats *dms, const char *program_id)
if (!_stats_set_name_cache(dms)) if (!_stats_set_name_cache(dms))
return_0; return_0;
if (dms->regions)
_stats_regions_destroy(dms);
r = dm_snprintf(msg, sizeof(msg), "@stats_list %s", program_id); r = dm_snprintf(msg, sizeof(msg), "@stats_list %s", program_id);
if (r < 0) { if (r < 0) {