+++ /dev/null
-diff -aur pciutils-3.1.9.orig/lib/dump.c pciutils-3.1.9/lib/dump.c
---- pciutils-3.1.9.orig/lib/dump.c 2011-11-14 06:08:39.000000000 -0500
-+++ pciutils-3.1.9/lib/dump.c 2012-01-28 20:53:40.446518788 -0500
-@@ -64,7 +64,7 @@
-
- if (!name)
- a->error("dump: File name not given.");
-- if (!(f = fopen(name, "r")))
-+ if (!(f = fopen(name, "re")))
- a->error("dump: Cannot open %s: %s", name, strerror(errno));
- while (fgets(buf, sizeof(buf)-1, f))
- {
-diff -aur pciutils-3.1.9.orig/lib/names-cache.c pciutils-3.1.9/lib/names-cache.c
---- pciutils-3.1.9.orig/lib/names-cache.c 2011-01-07 16:04:28.000000000 -0500
-+++ pciutils-3.1.9/lib/names-cache.c 2012-01-28 20:56:42.181246792 -0500
-@@ -62,7 +62,7 @@
- return 0;
- }
-
-- f = fopen(name, "rb");
-+ f = fopen(name, "rbe");
- if (!f)
- {
- a->debug("Cache file does not exist\n");
-@@ -135,7 +135,7 @@
- tmpname = pci_malloc(a, strlen(name) + strlen(hostname) + 64);
- sprintf(tmpname, "%s.tmp-%s-%d", name, hostname, this_pid);
-
-- f = fopen(tmpname, "wb");
-+ f = fopen(tmpname, "wbe");
- if (!f)
- {
- a->warning("Cannot write to %s: %s", name, strerror(errno));
-diff -aur pciutils-3.1.9.orig/lib/names-parse.c pciutils-3.1.9/lib/names-parse.c
---- pciutils-3.1.9.orig/lib/names-parse.c 2011-01-07 16:04:28.000000000 -0500
-+++ pciutils-3.1.9/lib/names-parse.c 2012-01-28 20:56:11.462630829 -0500
-@@ -52,7 +52,7 @@
- typedef FILE * pci_file;
- #define pci_gets(f, l, s) fgets(l, s, f)
- #define pci_eof(f) feof(f)
--#define pci_open(a) fopen(a->id_file_name, "r")
-+#define pci_open(a) fopen(a->id_file_name, "re")
- #define pci_close(f) fclose(f)
- #define PCI_ERROR(f, err) if (!err && ferror(f)) err = "I/O error";
- #endif
-diff -aur pciutils-3.1.9.orig/lib/proc.c pciutils-3.1.9/lib/proc.c
---- pciutils-3.1.9.orig/lib/proc.c 2011-01-07 16:04:28.000000000 -0500
-+++ pciutils-3.1.9/lib/proc.c 2012-01-28 20:55:32.827113838 -0500
-@@ -62,7 +62,7 @@
-
- if (snprintf(buf, sizeof(buf), "%s/devices", pci_get_param(a, "proc.path")) == sizeof(buf))
- a->error("File name too long");
-- f = fopen(buf, "r");
-+ f = fopen(buf, "re");
- if (!f)
- a->error("Cannot open %s", buf);
- while (fgets(buf, sizeof(buf)-1, f))
-@@ -129,7 +129,7 @@
- if (e < 0 || e >= (int) sizeof(buf))
- a->error("File name too long");
- a->fd_rw = a->writeable || rw;
-- a->fd = open(buf, a->fd_rw ? O_RDWR : O_RDONLY);
-+ a->fd = open(buf, (a->fd_rw ? O_RDWR : O_RDONLY) | O_CLOEXEC);
- if (a->fd < 0)
- {
- e = snprintf(buf, sizeof(buf), "%s/%04x:%02x/%02x.%d",
-@@ -137,7 +137,7 @@
- d->domain, d->bus, d->dev, d->func);
- if (e < 0 || e >= (int) sizeof(buf))
- a->error("File name too long");
-- a->fd = open(buf, a->fd_rw ? O_RDWR : O_RDONLY);
-+ a->fd = open(buf, (a->fd_rw ? O_RDWR : O_RDONLY) | O_CLOEXEC);
- }
- if (a->fd < 0)
- a->warning("Cannot open %s", buf);
-diff -aur pciutils-3.1.9.orig/lib/sysfs.c pciutils-3.1.9/lib/sysfs.c
---- pciutils-3.1.9.orig/lib/sysfs.c 2011-01-07 16:04:28.000000000 -0500
-+++ pciutils-3.1.9/lib/sysfs.c 2012-01-28 20:58:27.320932364 -0500
-@@ -93,7 +93,7 @@
- char namebuf[OBJNAMELEN], buf[256];
-
- sysfs_obj_name(d, object, namebuf);
-- fd = open(namebuf, O_RDONLY);
-+ fd = open(namebuf, O_RDONLY|O_CLOEXEC);
- if (fd < 0)
- a->error("Cannot open %s: %s", namebuf, strerror(errno));
- n = read(fd, buf, sizeof(buf));
-@@ -115,7 +115,7 @@
- int i;
-
- sysfs_obj_name(d, "resource", namebuf);
-- file = fopen(namebuf, "r");
-+ file = fopen(namebuf, "re");
- if (!file)
- a->error("Cannot open %s: %s", namebuf, strerror(errno));
- for (i = 0; i < 7; i++)
-@@ -220,7 +220,7 @@
- n = snprintf(namebuf, OBJNAMELEN, "%s/%s/%s", dirname, entry->d_name, "address");
- if (n < 0 || n >= OBJNAMELEN)
- a->error("File name too long");
-- file = fopen(namebuf, "r");
-+ file = fopen(namebuf, "re");
- /*
- * Old versions of Linux had a fakephp which didn't have an 'address'
- * file. There's no useful information to be gleaned from these
-@@ -283,7 +283,7 @@
- if (a->fd_vpd < 0)
- {
- sysfs_obj_name(d, "vpd", namebuf);
-- a->fd_vpd = open(namebuf, O_RDONLY);
-+ a->fd_vpd = open(namebuf, O_RDONLY|O_CLOEXEC);
- /* No warning on error; vpd may be absent or accessible only to root */
- }
- return a->fd_vpd;
-@@ -293,7 +293,7 @@
- {
- sysfs_obj_name(d, "config", namebuf);
- a->fd_rw = a->writeable || intent == SETUP_WRITE_CONFIG;
-- a->fd = open(namebuf, a->fd_rw ? O_RDWR : O_RDONLY);
-+ a->fd = open(namebuf, (a->fd_rw ? O_RDWR : O_RDONLY) | O_CLOEXEC);
- if (a->fd < 0)
- a->warning("Cannot open %s", namebuf);
- a->fd_pos = 0;