[Bug fortran/99711] New: Crash when reading an allocated character array in namelist
phil1691 at gmail dot com
gcc-bugzilla@gcc.gnu.org
Mon Mar 22 14:02:36 GMT 2021
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99711
Bug ID: 99711
Summary: Crash when reading an allocated character array in
namelist
Product: gcc
Version: 10.2.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: fortran
Assignee: unassigned at gcc dot gnu.org
Reporter: phil1691 at gmail dot com
Target Milestone: ---
The following code crashes with a segmentation fault (gcc 10.2.0):
> cat alloc_nml.f90
program allocnml
implicit none
character(len=:), dimension(:), allocatable :: cbulist_ru
integer :: iluseg
namelist /nam_bu_ru/ cbulist_ru
allocate( character(len=10) :: cbulist_ru(5) )
open(newunit=iluseg, file='list.nml', status='old', &
action='read', form='formatted', access='sequential')
read(unit=iluseg, nml=nam_bu_ru)
print *, cbulist_ru
close(unit=iluseg)
end program allocnml
With the following namelist file:
> cat list.nml
&NAM_BU_RU
CBULIST_RU(1) = 'PRES'
CBULIST_RU(2) = 'NEST'
CBULIST_RU(3) = 'HTURB'
CBULIST_RU(4) = 'VTURB'
/
Compilation:
> gfortran -g alloc_nml.f90
Execution:
> ./a.out
Program received signal SIGSEGV: Segmentation fault - invalid memory reference.
Backtrace for this error:
#0 0x146bdba3349f in ???
#1 0x146bdbb57d7a in ???
#2 0x146bdc79df4b in nml_read_obj
at ../../../gcc-10.2.0-srcdir/libgfortran/io/list_read.c:3142
#3 0x146bdc79ee8a in nml_get_obj_data
at ../../../gcc-10.2.0-srcdir/libgfortran/io/list_read.c:3512
#4 0x146bdc7a78b7 in finalize_transfer
at ../../../gcc-10.2.0-srcdir/libgfortran/io/transfer.c:4128
#5 0x400d48 in allocnml
at
/home/waup/F90/bug_gcc/character_allocatable_namelist/alloc_nml.f90:14
#6 0x400e20 in main
at
/home/waup/F90/bug_gcc/character_allocatable_namelist/alloc_nml.f90:19
Erreur de segmentation (core dumped)
More information about the Gcc-bugs
mailing list