From 4ecb10ebe3790f262037d0fb36e6340ef1502f43 Mon Sep 17 00:00:00 2001 From: marcel Date: Sun, 2 Jun 2002 19:20:37 +0000 Subject: Fix breakage caused by allocating the I/O buffer. There was a sizeof(buf) lurking around that I missed. PR: 38811 Submitted by: Adrian Colley --- sbin/savecore/savecore.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'sbin/savecore') diff --git a/sbin/savecore/savecore.c b/sbin/savecore/savecore.c index 56ee242..6cd5e2c 100644 --- a/sbin/savecore/savecore.c +++ b/sbin/savecore/savecore.c @@ -85,6 +85,9 @@ __FBSDID("$FreeBSD$"); #include #include +/* The size of the buffer used for I/O. */ +#define BUFFERSIZE (1024*1024) + int compress, clear, force, keep, verbose; /* flags */ int nfound, nsaved, nerr; /* statistics */ @@ -225,7 +228,7 @@ DoFile(char *savedir, const char *device) * this by doing a on-time allocation... */ if (buf == NULL) { - buf = malloc(1024 * 1024); + buf = malloc(BUFFERSIZE); if (buf == NULL) { syslog(LOG_ERR, "%m"); return; @@ -371,7 +374,7 @@ DoFile(char *savedir, const char *device) compress ? "compressed " : "", buf); while (dumpsize > 0) { - wl = sizeof(buf); + wl = BUFFERSIZE; if (wl > dumpsize) wl = dumpsize; nr = read(fd, buf, wl); -- cgit v1.1