diff options
author | pjd <pjd@FreeBSD.org> | 2012-12-14 15:03:12 +0000 |
---|---|---|
committer | pjd <pjd@FreeBSD.org> | 2012-12-14 15:03:12 +0000 |
commit | a555e4822220799d8567f55fdb4d62de343e5d4e (patch) | |
tree | 7eb12c150bc8657986025af676fe01b2ccd8a32f /sbin | |
parent | 389f3e3c15c55ab2fcda8488f853b194a3018c5d (diff) | |
download | FreeBSD-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')
-rw-r--r-- | sbin/savecore/savecore.c | 4 |
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); |