lvm2/0036-config-check-for-0-from-read.patch
chenrenhui d813f85fec config: check for 0 from read
When the read returns 0, it could mean the file
was trimmed or some other type of problem.
In this case abort the potentially endless loop.

(cherry picked from commit 071845e9dda29eb7862dba16363711acafb812ca)
2025-03-31 10:10:35 +08:00

31 lines
998 B
Diff

From c3c212d2185c0e185a536f9380e33bccc44f09a4 Mon Sep 17 00:00:00 2001
From: Zdenek Kabelac <zkabelac@redhat.com>
Date: Wed, 29 Jan 2025 00:00:23 +0100
Subject: [PATCH] config: check for 0 from read
When the read returns 0, it could mean the file
was trimmed or some other type of problem.
In this case abort the potentially endless loop.
Reference: https://github.com/lvmteam/lvm2/commit/e907c3cf9a1c294b6551d525d58f3bd7dbbb1cc5
Conflict: NA
---
lib/config/config.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lib/config/config.c b/lib/config/config.c
index 0cb0da1..a4c3fe6 100644
--- a/lib/config/config.c
+++ b/lib/config/config.c
@@ -534,7 +534,7 @@ int config_file_read_fd(struct dm_config_tree *cft, struct device *dev, dev_io_r
sz = read(dev_fd(dev), buf + rsize, size - rsize);
} while ((sz < 0) && ((errno == EINTR) || (errno == EAGAIN)));
- if (sz < 0) {
+ if (sz <= 0) {
log_sys_error("read", dev_name(dev));
goto out;
}
--
2.33.0