File bug-1164718_28-lvmcache-free-resource-on-error-path.patch of Package lvm2.17498

From 34bde8b6c7e517239a05334683a09f2b5075fdcc Mon Sep 17 00:00:00 2001
From: Zdenek Kabelac <zkabelac@redhat.com>
Date: Fri, 8 Nov 2019 12:51:48 +0100
Subject: [PATCH] lvmcache: free resource on error path

Free allocated svg on error path.
Also explicitely ignore dm_strncpy() result.
(We know it will end with failure here.)
---
 lib/cache/lvmcache.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/lib/cache/lvmcache.c b/lib/cache/lvmcache.c
index 9890325..c12ec2b 100644
--- a/lib/cache/lvmcache.c
+++ b/lib/cache/lvmcache.c
@@ -325,10 +325,12 @@ void lvmcache_save_vg(struct volume_group *vg, int precommitted)
 
 		dm_list_init(&svg->saved_vg_to_free);
 
-		dm_strncpy(svg->vgid, (const char *)vg->id.uuid, sizeof(svg->vgid));
+		/* Ignore result code, size we intentionally short-cut & pad with 0 */
+		(void) dm_strncpy(svg->vgid, (const char *)vg->id.uuid, sizeof(svg->vgid));
 
 		if (!dm_hash_insert(_saved_vg_hash, svg->vgid, svg)) {
 			log_error("lvmcache: failed to insert saved_vg %s", svg->vgid);
+			dm_free(svg);
 			return;
 		}
 	} else {
-- 
1.8.3.1

openSUSE Build Service is sponsored by