]> mj.ucw.cz Git - pciutils.git/commitdiff
sysfs: Avoid close() potentially clobbering errno
authorMartin Mares <mj@ucw.cz>
Tue, 12 Mar 2024 19:47:28 +0000 (20:47 +0100)
committerMartin Mares <mj@ucw.cz>
Tue, 12 Mar 2024 19:47:28 +0000 (20:47 +0100)
lib/sysfs.c

index cd2379ee5dc9723d75f7ceffdd55d783e91431d3..48ed6da3f990f097d90979087a91018168dfa09d 100644 (file)
@@ -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);