https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78958
Dominique d'Humieres <dominiq at lps dot ens.fr> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Last reconfirmed| |2017-01-05
CC| |vehre at gcc dot gnu.org
Blocks| |78672
Ever confirmed|0 |1
--- Comment #1 from Dominique d'Humieres <dominiq at lps dot ens.fr> ---
On x86_64-apple-darwin16, compiling gfortran.dg/alloc_comp_class_5.f03 with
-fsanitize=address gives at run time
=================================================================
==15392==ERROR: AddressSanitizer: heap-buffer-overflow on address
0x602000000273 at pc 0x000108ec2ed9 bp 0x7fff56f7fb80 sp 0x7fff56f7f330
WRITE of size 3 at 0x602000000273 thread T0
#0 0x108ec2ed8 in wrap_memmove (/opt/gcc/gcc7w/lib/libasan.4.dylib+0x41ed8)
#1 0x108c86723 in __copy_character_1.3652
(/Users/dominiq/Documents/Fortran/g95bench/win/f90/bug/a.out+0x100007723)
#2 0x108c85c1f in __array_list_MOD_add_item
(/Users/dominiq/Documents/Fortran/g95bench/win/f90/bug/a.out+0x100006c1f)
#3 0x108c86f82 in MAIN__
(/Users/dominiq/Documents/Fortran/g95bench/win/f90/bug/a.out+0x100007f82)
#4 0x108c8919e in main
(/Users/dominiq/Documents/Fortran/g95bench/win/f90/bug/a.out+0x10000a19e)
#5 0x7fffbd674254 in start (/usr/lib/system/libdyld.dylib+0x5254)
0x602000000273 is located 0 bytes to the right of 3-byte region
[0x602000000270,0x602000000273)
allocated by thread T0 here:
#0 0x108ee1439 in wrap_malloc (/opt/gcc/gcc7w/lib/libasan.4.dylib+0x60439)
#1 0x108c84e71 in __array_list_MOD_add_item
(/Users/dominiq/Documents/Fortran/g95bench/win/f90/bug/a.out+0x100005e71)
#2 0x108c86f82 in MAIN__
(/Users/dominiq/Documents/Fortran/g95bench/win/f90/bug/a.out+0x100007f82)
#3 0x108c8919e in main
(/Users/dominiq/Documents/Fortran/g95bench/win/f90/bug/a.out+0x10000a19e)
#4 0x7fffbd674254 in start (/usr/lib/system/libdyld.dylib+0x5254)
SUMMARY: AddressSanitizer: heap-buffer-overflow
(/opt/gcc/gcc7w/lib/libasan.4.dylib+0x41ed8) in wrap_memmove
Shadow bytes around the buggy address:
0x1c03fffffff0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x1c0400000000: fa fa fd fd fa fa fd fd fa fa 00 07 fa fa 00 06
0x1c0400000010: fa fa 03 fa fa fa 00 00 fa fa 00 06 fa fa 06 fa
0x1c0400000020: fa fa 07 fa fa fa 07 fa fa fa fd fa fa fa fd fa
0x1c0400000030: fa fa fd fd fa fa 00 fa fa fa 00 00 fa fa 00 fa
=>0x1c0400000040: fa fa 00 fa fa fa 00 00 fa fa 00 fa fa fa[03]fa
0x1c0400000050: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
0x1c0400000060: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
0x1c0400000070: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
0x1c0400000080: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
0x1c0400000090: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
Shadow byte legend (one shadow byte represents 8 application bytes):
Addressable: 00
Partially addressable: 01 02 03 04 05 06 07
Heap left redzone: fa
Freed heap region: fd
Stack left redzone: f1
Stack mid redzone: f2
Stack right redzone: f3
Stack after return: f5
Stack use after scope: f8
Global redzone: f9
Global init order: f6
Poisoned by user: f7
Container overflow: fc
Array cookie: ac
Intra object redzone: bb
ASan internal: fe
Left alloca redzone: ca
Right alloca redzone: cb
==15392==ABORTING
Program received signal SIGABRT: Process abort signal.
Backtrace for this error:
#0 0x108c8dee9
#1 0x108c8d243
#2 0x7fffbd881bb9
Abort
See also pr78672.
Referenced Bugs:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78672
[Bug 78672] Gfortran test suite failures with a sanitized compiler