changeset 10937:b6ce4b1e9e41

6897467 savecore dumps core -- arithmetic exception
author Dave Plauger <Dave.Plauger@Sun.COM>
date Tue, 03 Nov 2009 12:28:49 -0500
parents e52b5709a64a
children 270624bd70f1
files usr/src/cmd/savecore/savecore.c
diffstat 1 files changed, 6 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/usr/src/cmd/savecore/savecore.c	Tue Nov 03 10:54:17 2009 +0800
+++ b/usr/src/cmd/savecore/savecore.c	Tue Nov 03 12:28:49 2009 -0500
@@ -1509,6 +1509,9 @@
 			Pread(dumpfd, metrics, metrics_size, endoff +
 			    sizeof (dumphdr) + sizeof (datahdr));
 
+			if (sec < 1)
+				sec = 1;
+
 			if (mfile == NULL) {
 				logprint(LOG_WARNING, 1, -1,
 				    "Can't create %s:\n%s",
@@ -1566,6 +1569,9 @@
 			int sec = (gethrtime() - startts) / 1000 / 1000 / 1000;
 			FILE *mfile = fopen(METRICSFILE, "a");
 
+			if (sec < 1)
+				sec = 1;
+
 			fprintf(mfile, "[[[[,,,");
 			for (i = 0; i < argc; i++)
 				fprintf(mfile, "%s ", argv[i]);