Commit aaaefb9d by Teresa Johnson Committed by Jakub Jelinek

re PR gcov-profile/55417 (AddressSanitizer reports stack-buffer-overflow in profiling code)

	PR gcov-profile/55417
	* profile.c (compute_working_sets): Check index first
	to avoid out-of-bounds array access.

From-SVN: r193697
parent 5a09d908
2012-11-21 Teresa Johnson <tejohnson@google.com>
PR gcov-profile/55417
* profile.c (compute_working_sets): Check index first
to avoid out-of-bounds array access.
2012-11-21 Matthias Klose <doko@ubuntu.com> 2012-11-21 Matthias Klose <doko@ubuntu.com>
* config/aarch64/t-aarch64-linux: Define MULTIARCH_DIRNAME for * config/aarch64/t-aarch64-linux: Define MULTIARCH_DIRNAME for
...@@ -1400,7 +1406,7 @@ ...@@ -1400,7 +1406,7 @@
* cppdefault.h (default_include): Document multiarch in multilib * cppdefault.h (default_include): Document multiarch in multilib
member. member.
* cppdefault.c: [LOCAL_INCLUDE_DIR, STANDARD_INCLUDE_DIR] Add an * cppdefault.c: [LOCAL_INCLUDE_DIR, STANDARD_INCLUDE_DIR] Add an
include directory for multiarch directories. include directory for multiarch directories.
* common.opt: New options --print-multiarch and -imultilib. * common.opt: New options --print-multiarch and -imultilib.
* config.gcc <i[34567]86-*-linux* | x86_64-*-linux*> (tmake_file): * config.gcc <i[34567]86-*-linux* | x86_64-*-linux*> (tmake_file):
Include i386/t-linux. Include i386/t-linux.
...@@ -288,11 +288,11 @@ compute_working_sets (void) ...@@ -288,11 +288,11 @@ compute_working_sets (void)
else else
tmp_cum = cum + histo_bucket->cum_value; tmp_cum = cum + histo_bucket->cum_value;
/* Next walk through successive working set entries and fill in /* Next walk through successive working set entries and fill in
the statistics for any whose size we have reached by accumulating the statistics for any whose size we have reached by accumulating
this histogram counter. */ this histogram counter. */
while (tmp_cum >= working_set_cum_values[ws_ix] while (ws_ix < NUM_GCOV_WORKING_SETS
&& ws_ix < NUM_GCOV_WORKING_SETS) && tmp_cum >= working_set_cum_values[ws_ix])
{ {
gcov_working_sets[ws_ix].num_counters = count; gcov_working_sets[ws_ix].num_counters = count;
gcov_working_sets[ws_ix].min_counter gcov_working_sets[ws_ix].min_counter
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment