diff options
author | amdmi3 <amdmi3@FreeBSD.org> | 2009-10-30 02:27:46 +0800 |
---|---|---|
committer | amdmi3 <amdmi3@FreeBSD.org> | 2009-10-30 02:27:46 +0800 |
commit | ef0c8e7500a625a06fbb644bff14e60fb95b1b48 (patch) | |
tree | 76938e76241a8195869763acd80c9e702c890f6b /security | |
parent | 405221317ab699ac6d5bb8540475afe1564ad0bf (diff) | |
download | freebsd-ports-gnome-ef0c8e7500a625a06fbb644bff14e60fb95b1b48.tar.gz freebsd-ports-gnome-ef0c8e7500a625a06fbb644bff14e60fb95b1b48.tar.zst freebsd-ports-gnome-ef0c8e7500a625a06fbb644bff14e60fb95b1b48.zip |
- fix the core dump when wiping e.g. /tmp/testfile ([1])
- fix permissions handling ([2])
PR: 139611 [1], 139637 [2]
Submitted by: Michael <bug_report@arcor.de> [1], Christoph Weber-Fahr <cwf-ml@arcor.de> [2]
Patch by: Rob Farmer <rfarmer@predatorlabs.net> (maintainer)
Diffstat (limited to 'security')
-rw-r--r-- | security/wipe/Makefile | 1 | ||||
-rw-r--r-- | security/wipe/files/patch-prompt.c | 37 |
2 files changed, 38 insertions, 0 deletions
diff --git a/security/wipe/Makefile b/security/wipe/Makefile index 70b7af4a27a1..2575166fa565 100644 --- a/security/wipe/Makefile +++ b/security/wipe/Makefile @@ -7,6 +7,7 @@ PORTNAME= wipe PORTVERSION= 2.3.0 +PORTREVISION= 1 CATEGORIES= security MASTER_SITES= SF diff --git a/security/wipe/files/patch-prompt.c b/security/wipe/files/patch-prompt.c new file mode 100644 index 000000000000..c08de188dfca --- /dev/null +++ b/security/wipe/files/patch-prompt.c @@ -0,0 +1,37 @@ +--- prompt.c.orig 2009-04-25 20:18:13.000000000 -0700 ++++ prompt.c 2009-10-18 15:29:39.000000000 -0700 +@@ -41,9 +41,9 @@ + + #include "std.h" + #include "percent.h" ++#include "main.h" + #include "file.h" + #include "dir.h" +-#include "main.h" + #include "wipe.h" + #include "blkdev.h" + #include "prompt.h" +@@ -69,7 +69,10 @@ + } + #endif + +- if (options.force) goto destroy; ++ if (options.force){ ++ chmod(f->real_name, S_IRWXU); ++ goto destroy; ++ } + + permdenied = access(f->name, perm); + if (options.interactive) /* force overrides interaction */ +@@ -119,7 +122,10 @@ + + fgets(prompt, sizeof(prompt), stdin); + +- if (prompt[0] == 'y' || prompt[0] == 'Y') goto destroy; ++ if (prompt[0] == 'y' || prompt[0] == 'Y'){ ++ chmod(f->real_name, S_IRWXU); ++ goto destroy; ++ } + if (prompt[0] == 'n' || prompt[0] == 'N') return; + } + } |