From 9b31027f1d78c75bc41c5511ca50545a66229b59 Mon Sep 17 00:00:00 2001 From: Martin Mares Date: Tue, 12 Mar 2024 20:47:28 +0100 Subject: sysfs: Avoid close() potentially clobbering errno --- lib/sysfs.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/sysfs.c b/lib/sysfs.c index cd2379e..48ed6da 100644 --- a/lib/sysfs.c +++ b/lib/sysfs.c @@ -105,12 +105,13 @@ sysfs_get_string(struct pci_dev *d, char *object, char *buf, int mandatory) return 0; } n = read(fd, buf, OBJBUFSIZE); + int read_errno = errno; close(fd); if (n < 0) { - warn("Error reading %s: %s", namebuf, strerror(errno)); + warn("Error reading %s: %s", namebuf, strerror(read_errno)); return 0; - } + } if (n >= OBJBUFSIZE) { warn("Value in %s too long", namebuf); -- cgit 1.2.3-korg