aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gprof/ChangeLog5
-rw-r--r--gprof/gmon_io.c9
2 files changed, 14 insertions, 0 deletions
diff --git a/gprof/ChangeLog b/gprof/ChangeLog
index 2f490fb..ae5e9f4 100644
--- a/gprof/ChangeLog
+++ b/gprof/ChangeLog
@@ -1,3 +1,8 @@
+1999-09-24 Nick Clifton <nickc@cygnus.com>
+
+ * gmon_io.c (gmon_out_read): Make sure that sensible values
+ are extracted from a raw header.
+
1999-08-06 Ian Lance Taylor <ian@zembu.com>
From Brad Lucier <lucier@math.purdue.edu>:
diff --git a/gprof/gmon_io.c b/gprof/gmon_io.c
index 067323c..7e0a1a0 100644
--- a/gprof/gmon_io.c
+++ b/gprof/gmon_io.c
@@ -251,6 +251,15 @@ DEFUN (gmon_out_read, (filename), const char *filename)
printf ("[gmon_out_read] samp_bytes %d hist_num_bins %d\n",
samp_bytes, hist_num_bins));
+ /* Make sure that we have sensible values. */
+ if (samp_bytes < 0 || lowpc > highpc)
+ {
+ fprintf (stderr,
+ _("%s: file '%s' does not appear to be in gmon.out format\n"),
+ whoami, filename);
+ done (1);
+ }
+
if (hist_num_bins)
{
++nhist;