socsvn commit: r257649 - soc2013/def/crashdump-head/sbin/savecore
def at FreeBSD.org
def at FreeBSD.org
Mon Sep 23 16:04:32 UTC 2013
Author: def
Date: Mon Sep 23 16:04:31 2013
New Revision: 257649
URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=257649
Log:
Review savecore(8).
Modified:
soc2013/def/crashdump-head/sbin/savecore/Makefile
soc2013/def/crashdump-head/sbin/savecore/dumpfile.c
Modified: soc2013/def/crashdump-head/sbin/savecore/Makefile
==============================================================================
--- soc2013/def/crashdump-head/sbin/savecore/Makefile Mon Sep 23 15:41:39 2013 (r257648)
+++ soc2013/def/crashdump-head/sbin/savecore/Makefile Mon Sep 23 16:04:31 2013 (r257649)
@@ -7,7 +7,6 @@
DPADD= ${LIBZ}
LDADD= -lz
CFLAGS+=-I${SYS}
-WARNS?= 2
MAN= savecore.8
.include <bsd.prog.mk>
Modified: soc2013/def/crashdump-head/sbin/savecore/dumpfile.c
==============================================================================
--- soc2013/def/crashdump-head/sbin/savecore/dumpfile.c Mon Sep 23 15:41:39 2013 (r257648)
+++ soc2013/def/crashdump-head/sbin/savecore/dumpfile.c Mon Sep 23 16:04:31 2013 (r257649)
@@ -44,12 +44,15 @@
fd = (dumpFile *)malloc(sizeof(dumpFile));
fd->fp = fp;
+ fd->buf_used = 0;
memcpy(fd->encrypted_key, h->encrypted_key, KERNELDUMP_ENCRYPTED_KEY_SIZE);
- save_key_for(fd, keyname);
+ if (save_key_for(fd, keyname)) {
+ free(fd);
- fd->buf_used = 0;
+ return (NULL);
+ }
return (funopen(fd, NULL, dwrite, NULL, dclose));
}
@@ -67,8 +70,11 @@
memcpy(fd->buf + fd->buf_used, data, resid);
fd->buf_used += resid;
- if (fwrite(fd->buf, 1, PEFS_SECTOR_SIZE, fd->fp) != PEFS_SECTOR_SIZE)
- return (0);
+ if (fwrite(fd->buf, 1, PEFS_SECTOR_SIZE, fd->fp) != PEFS_SECTOR_SIZE) {
+ fd->buf_used -= resid;
+
+ return (saved);
+ }
data += resid;
size -= resid;
More information about the svn-soc-all
mailing list