util-linux/backport-libblkid-fix-potential-memory-leaks.patch
2025-03-25 20:17:41 +08:00

60 lines
1.5 KiB
Diff

From dfe1c4bc742ed3f53c06bb232ebc1f5fadd0881e Mon Sep 17 00:00:00 2001
From: Karel Zak <kzak@redhat.com>
Date: Mon, 13 Jan 2025 11:26:06 +0100
Subject: [PATCH] libblkid: fix potential memory leaks
Addresses: https://github.com/util-linux/util-linux/pull/3356
Signed-off-by: Karel Zak <kzak@redhat.com>
Reference:https://github.com/util-linux/util-linux/commit/dfe1c4bc742ed3f53c06bb232ebc1f5fadd0881e
Conflict:NA
---
libblkid/src/save.c | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)
diff --git a/libblkid/src/save.c b/libblkid/src/save.c
index 1a617c07..295924e1 100644
--- a/libblkid/src/save.c
+++ b/libblkid/src/save.c
@@ -109,7 +109,8 @@ int blkid_flush_cache(blkid_cache cache)
&& errno != EEXIST) {
DBG(SAVE, ul_debug("can't create %s directory for cache file",
BLKID_RUNTIME_DIR));
- return 0;
+ ret = 0;
+ goto done;
}
}
@@ -117,7 +118,8 @@ int blkid_flush_cache(blkid_cache cache)
if (((ret = stat(filename, &st)) < 0 && errno != ENOENT) ||
(ret == 0 && access(filename, W_OK) < 0)) {
DBG(SAVE, ul_debug("can't write to cache file %s", filename));
- return 0;
+ ret = 0;
+ goto done;
}
/*
@@ -154,7 +156,7 @@ int blkid_flush_cache(blkid_cache cache)
if (!file) {
ret = errno;
- goto errout;
+ goto done;
}
list_for_each(p, &cache->bic_devs) {
@@ -201,7 +203,7 @@ int blkid_flush_cache(blkid_cache cache)
}
}
-errout:
+done:
free(tmp);
if (filename != cache->bic_filename)
free(filename);
--
2.33.0