aboutsummaryrefslogtreecommitdiff
path: root/share/security/patches/SA-02:39/libkvm.patch
diff options
context:
space:
mode:
Diffstat (limited to 'share/security/patches/SA-02:39/libkvm.patch')
-rw-r--r--share/security/patches/SA-02:39/libkvm.patch47
1 files changed, 47 insertions, 0 deletions
diff --git a/share/security/patches/SA-02:39/libkvm.patch b/share/security/patches/SA-02:39/libkvm.patch
new file mode 100644
index 0000000000..9612ef7960
--- /dev/null
+++ b/share/security/patches/SA-02:39/libkvm.patch
@@ -0,0 +1,47 @@
+Index: kvm.c
+===================================================================
+RCS file: /home/ncvs/src/lib/libkvm/kvm.c,v
+retrieving revision 1.12.2.2
+retrieving revision 1.12.2.3
+diff -c -r1.12.2.2 -r1.12.2.3
+*** lib/libkvm/kvm.c 23 Aug 2000 08:53:00 -0000 1.12.2.2
+--- lib/libkvm/kvm.c 13 Sep 2002 14:53:43 -0000 1.12.2.3
+***************
+*** 206,211 ****
+--- 206,215 ----
+ _kvm_syserr(kd, kd->program, "%s", mf);
+ goto failed;
+ }
++ if (fcntl(kd->pmfd, F_SETFD, FD_CLOEXEC) < 0) {
++ _kvm_syserr(kd, kd->program, "%s", mf);
++ goto failed;
++ }
+ if (S_ISCHR(st.st_mode)) {
+ /*
+ * If this is a character special device, then check that
+***************
+*** 224,229 ****
+--- 228,237 ----
+ _kvm_syserr(kd, kd->program, "%s", _PATH_KMEM);
+ goto failed;
+ }
++ if (fcntl(kd->vmfd, F_SETFD, FD_CLOEXEC) < 0) {
++ _kvm_syserr(kd, kd->program, "%s", _PATH_KMEM);
++ goto failed;
++ }
+ }
+ } else {
+ /*
+***************
+*** 232,237 ****
+--- 240,249 ----
+ * but first setup the namelist fd.
+ */
+ if ((kd->nlfd = open(uf, O_RDONLY, 0)) < 0) {
++ _kvm_syserr(kd, kd->program, "%s", uf);
++ goto failed;
++ }
++ if (fcntl(kd->nlfd, F_SETFD, FD_CLOEXEC) < 0) {
+ _kvm_syserr(kd, kd->program, "%s", uf);
+ goto failed;
+ }