summaryrefslogtreecommitdiffstats
path: root/sbin/savecore
diff options
context:
space:
mode:
authorpjd <pjd@FreeBSD.org>2012-12-14 15:03:12 +0000
committerpjd <pjd@FreeBSD.org>2012-12-14 15:03:12 +0000
commita555e4822220799d8567f55fdb4d62de343e5d4e (patch)
tree7eb12c150bc8657986025af676fe01b2ccd8a32f /sbin/savecore
parent389f3e3c15c55ab2fcda8488f853b194a3018c5d (diff)
downloadFreeBSD-src-a555e4822220799d8567f55fdb4d62de343e5d4e.zip
FreeBSD-src-a555e4822220799d8567f55fdb4d62de343e5d4e.tar.gz
If we are not going to clear the dump (we are either just checking if the dump
exists or we want to keep it), open device read-only. Obtained from: WHEEL Systems
Diffstat (limited to 'sbin/savecore')
-rw-r--r--sbin/savecore/savecore.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/sbin/savecore/savecore.c b/sbin/savecore/savecore.c
index bbde36c..2b9b6d8 100644
--- a/sbin/savecore/savecore.c
+++ b/sbin/savecore/savecore.c
@@ -394,7 +394,7 @@ DoFile(const char *savedir, const char *device)
if (verbose)
printf("checking for kernel dump on device %s\n", device);
- fd = open(device, O_RDWR);
+ fd = open(device, (checkfor || keep) ? O_RDONLY : O_RDWR);
if (fd < 0) {
syslog(LOG_ERR, "%s: %m", device);
return;
@@ -612,7 +612,7 @@ DoFile(const char *savedir, const char *device)
printf("dump saved\n");
nuke:
- if (clear || !keep) {
+ if (!keep) {
if (verbose)
printf("clearing dump header\n");
memcpy(kdhl.magic, KERNELDUMPMAGIC_CLEARED, sizeof kdhl.magic);
OpenPOWER on IntegriCloud