https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81531

            Bug ID: 81531
           Summary: Multiple Invalid reads seen by valgrind on an invalid
                    test-case
           Product: gcc
           Version: 7.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: fortran
          Assignee: unassigned at gcc dot gnu.org
          Reporter: marxin at gcc dot gnu.org
  Target Milestone: ---

$ valgrind --leak-check=yes --trace-children=yes gcc
/home/marxin/Programming/gcc/gcc/testsuite/gfortran.dg/fimplicit_none_2.f90 -c

==22751== Command: /usr/lib64/gcc/x86_64-suse-linux/7/f951
/home/marxin/Programming/gcc/gcc/testsuite/gfortran.dg/fimplicit_none_2.f90
-quiet -dumpbase fimplicit_none_2.f90 -mtune=generic -march=x86-64 -auxbase
fimplicit_none_2 -fintrinsic-modules-path
/usr/lib64/gcc/x86_64-suse-linux/7/finclude -o /tmp/ccFBcqXQ.s
==22751== 
/home/marxin/Programming/gcc/gcc/testsuite/gfortran.dg/fimplicit_none_2.f90:5:34:

    character(*), parameter :: z(2) = [character(n) :: 'x', 'y'] ! { dg-error
"Scalar INTEGER expression expected" }
                                  1
Error: Cannot initialize parameter array at (1) with variable length elements
==22751== Invalid read of size 8
==22751==    at 0xE11DFD: gfc_resolve_expr(gfc_expr*) (in
/usr/lib64/gcc/x86_64-suse-linux/7/f951)
==22751==    by 0x624C31: ??? (in /usr/lib64/gcc/x86_64-suse-linux/7/f951)
==22751==    by 0x617E16: ??? (in /usr/lib64/gcc/x86_64-suse-linux/7/f951)
==22751==    by 0xE125C1: gfc_resolve(gfc_namespace*) (in
/usr/lib64/gcc/x86_64-suse-linux/7/f951)
==22751==    by 0xE08D41: gfc_parse_file() (in
/usr/lib64/gcc/x86_64-suse-linux/7/f951)
==22751==    by 0xE24ECF: ??? (in /usr/lib64/gcc/x86_64-suse-linux/7/f951)
==22751==    by 0x137B308: ??? (in /usr/lib64/gcc/x86_64-suse-linux/7/f951)
==22751==    by 0xDEA25D: toplev::main(int, char**) (in
/usr/lib64/gcc/x86_64-suse-linux/7/f951)
==22751==    by 0xDEBB2A: main (in /usr/lib64/gcc/x86_64-suse-linux/7/f951)
==22751==  Address 0x655a7c8 is 24 bytes inside a block of size 48 free'd
==22751==    at 0x4C2D2BB: free (in
/usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==22751==    by 0xE19FB3: gfc_undo_symbols() (in
/usr/lib64/gcc/x86_64-suse-linux/7/f951)
==22751==    by 0xE0AB35: ??? (in /usr/lib64/gcc/x86_64-suse-linux/7/f951)
==22751==    by 0xE0A402: ??? (in /usr/lib64/gcc/x86_64-suse-linux/7/f951)
==22751==    by 0xE0C465: ??? (in /usr/lib64/gcc/x86_64-suse-linux/7/f951)
==22751==    by 0xE0C207: ??? (in /usr/lib64/gcc/x86_64-suse-linux/7/f951)
==22751==    by 0xE09C1A: gfc_parse_file() (in
/usr/lib64/gcc/x86_64-suse-linux/7/f951)
==22751==    by 0xE24ECF: ??? (in /usr/lib64/gcc/x86_64-suse-linux/7/f951)
==22751==    by 0x137B308: ??? (in /usr/lib64/gcc/x86_64-suse-linux/7/f951)
==22751==    by 0xDEA25D: toplev::main(int, char**) (in
/usr/lib64/gcc/x86_64-suse-linux/7/f951)
==22751==    by 0xDEBB2A: main (in /usr/lib64/gcc/x86_64-suse-linux/7/f951)
==22751==  Block was alloc'd at
==22751==    at 0x4C2E0A5: calloc (in
/usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==22751==    by 0x13FF1F0: xcalloc (in /usr/lib64/gcc/x86_64-suse-linux/7/f951)
==22751==    by 0xE1A4C5: gfc_get_ha_sym_tree(char const*, gfc_symtree**) (in
/usr/lib64/gcc/x86_64-suse-linux/7/f951)
==22751==    by 0xE10B02: gfc_match_rvalue(gfc_expr**) (in
/usr/lib64/gcc/x86_64-suse-linux/7/f951)
==22751==    by 0xDFC761: gfc_match_expr(gfc_expr**) (in
/usr/lib64/gcc/x86_64-suse-linux/7/f951)
==22751==    by 0x5C428D: ??? (in /usr/lib64/gcc/x86_64-suse-linux/7/f951)
==22751==    by 0x5C25A2: gfc_match_char_spec(gfc_typespec*) (in
/usr/lib64/gcc/x86_64-suse-linux/7/f951)
==22751==    by 0x5F10E9: gfc_match_type_spec(gfc_typespec*) (in
/usr/lib64/gcc/x86_64-suse-linux/7/f951)
==22751==    by 0x5A9EE7: ??? (in /usr/lib64/gcc/x86_64-suse-linux/7/f951)
==22751==    by 0xDFC750: gfc_match_expr(gfc_expr**) (in
/usr/lib64/gcc/x86_64-suse-linux/7/f951)
==22751==    by 0xDF232D: gfc_match_init_expr(gfc_expr**) (in
/usr/lib64/gcc/x86_64-suse-linux/7/f951)
==22751==    by 0xDEEC86: gfc_match_data_decl() (in
/usr/lib64/gcc/x86_64-suse-linux/7/f951)

Reply via email to