From: Nick Clifton Date: Fri, 24 Sep 1999 09:03:49 +0000 (+0000) Subject: Make sure that sensible values are extracted from a raw header. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=2d35e9f64f547cb4fe7f97c69b4aca6bfad8f5f3;p=binutils-gdb.git Make sure that sensible values are extracted from a raw header. --- diff --git a/gprof/ChangeLog b/gprof/ChangeLog index 2f490fbb6d4..ae5e9f439f4 100644 --- a/gprof/ChangeLog +++ b/gprof/ChangeLog @@ -1,3 +1,8 @@ +1999-09-24 Nick Clifton + + * gmon_io.c (gmon_out_read): Make sure that sensible values + are extracted from a raw header. + 1999-08-06 Ian Lance Taylor From Brad Lucier : diff --git a/gprof/gmon_io.c b/gprof/gmon_io.c index 067323cbc9f..7e0a1a0a81b 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;