summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sys-apps/util-linux/files/util-linux-2.12p-swapon-check-symlinks.patch')
-rw-r--r--sys-apps/util-linux/files/util-linux-2.12p-swapon-check-symlinks.patch9
1 files changed, 5 insertions, 4 deletions
diff --git a/sys-apps/util-linux/files/util-linux-2.12p-swapon-check-symlinks.patch b/sys-apps/util-linux/files/util-linux-2.12p-swapon-check-symlinks.patch
index e53b84e83da4..f421458049f1 100644
--- a/sys-apps/util-linux/files/util-linux-2.12p-swapon-check-symlinks.patch
+++ b/sys-apps/util-linux/files/util-linux-2.12p-swapon-check-symlinks.patch
@@ -1,10 +1,10 @@
---- util-linux-2.12b/mount/swapon.c.orig 2004-10-28 10:02:44.320023600 -0400
-+++ util-linux-2.12b/mount/swapon.c 2004-10-28 10:02:14.384574000 -0400
+--- util-linux-2.12b/mount/swapon.c
++++ util-linux-2.12b/mount/swapon.c
@@ -7,2 +7,3 @@
#include <stdlib.h>
+#include <sys/param.h>
#include <stdio.h>
-@@ -137,10 +138,26 @@
+@@ -137,10 +138,27 @@
static int
is_in_proc_swaps(const char *fname) {
int i;
@@ -22,9 +22,10 @@
+ if (!lstat(fname, &fstatbuf))
+ if (S_ISLNK(fstatbuf.st_mode)) {
+ struct stat swapstatbuf;
++ stat(fname, &fstatbuf);
+ for (i = 0; i < numSwaps; i++)
+ if (swapFiles[i] && !stat(swapFiles[i], &swapstatbuf) && \
-+ swapstatbuf.st_dev == fstatbuf.st_dev)
++ swapstatbuf.st_rdev == fstatbuf.st_rdev)
+ return 1;
+ }
+