[Bug fortran/54382] New: gfortran show_locus: Invalid read of size 4
burnus at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Mon Aug 27 06:27:00 GMT 2012
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54382
Bug #: 54382
Summary: gfortran show_locus: Invalid read of size 4
Classification: Unclassified
Product: gcc
Version: 4.8.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: fortran
AssignedTo: unassigned@gcc.gnu.org
ReportedBy: burnus@gcc.gnu.org
For the following program, valgrind shows:
Invalid read of size 4
at 0x57BD98: _ZL10show_locusP5locusii.isra.3 (error.c:392)
by 0x57C3D5: error_print(char const*, char const*, __va_list_tag*)
(error.c:661)
by 0x57CEF8: gfc_error(char const*, ...) (error.c:956)
by 0x5C3296: match_complex_part(gfc_expr**) (primary.c:1205)
The program consists of the two lines:
!--------------------------
r =
(r + m)
end
!--------------------------
Namely, the first line has 101 characters. It is crucial for this valgrind
warning that the line is very long.
The warning is printed for
292 show_locus (locus *loc, int c1, int c2)
...
309 lb = loc->lb;
...
388 p = &(lb->line[offset]);
389 for (i = 0; i <= cmax; i++)
390 {
391 int spaces, j;
392 spaces = gfc_widechar_display_length (*p++);
where offset == 21 and, initially, c1 == 96 and c2 == -1.
More information about the Gcc-bugs
mailing list