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
This commit is contained in:
Teresa Johnson 2012-11-21 16:04:45 +01:00 committed by Jakub Jelinek
parent 5a09d908bc
commit aaaefb9d5a
2 changed files with 12 additions and 6 deletions

View File

@ -1,3 +1,9 @@
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>
* config/aarch64/t-aarch64-linux: Define MULTIARCH_DIRNAME for
@ -1400,7 +1406,7 @@
* cppdefault.h (default_include): Document multiarch in multilib
member.
* 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.
* config.gcc <i[34567]86-*-linux* | x86_64-*-linux*> (tmake_file):
Include i386/t-linux.

View File

@ -288,11 +288,11 @@ compute_working_sets (void)
else
tmp_cum = cum + histo_bucket->cum_value;
/* Next walk through successive working set entries and fill in
the statistics for any whose size we have reached by accumulating
this histogram counter. */
while (tmp_cum >= working_set_cum_values[ws_ix]
&& ws_ix < NUM_GCOV_WORKING_SETS)
/* Next walk through successive working set entries and fill in
the statistics for any whose size we have reached by accumulating
this histogram counter. */
while (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].min_counter