------- Comment #3 from jvdelisle at gcc dot gnu dot org 2007-06-30 00:20 ------- This appears to fix it but I am not sure yet. More testing.
Index: write.c =================================================================== --- write.c (revision 126131) +++ write.c (working copy) @@ -546,7 +546,7 @@ output_float (st_parameter_dt *dtp, cons * digits; if the value is zero, the exponent is 00. */ #ifdef HAVE_SNPRINTF - snprintf (buffer, sizeof (buffer), "%+-#" STR(MIN_FIELD_WIDTH) ".*" + snprintf (buffer, sizeof (buffer)+1, "%+-#" STR(MIN_FIELD_WIDTH) ".*" GFC_REAL_LARGEST_FORMAT "e", ndigits - 1, value); #else sprintf (buffer, "%+-#" STR(MIN_FIELD_WIDTH) ".*" -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32554