From c3c212d2185c0e185a536f9380e33bccc44f09a4 Mon Sep 17 00:00:00 2001 From: Zdenek Kabelac 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