[Bug libfortran/47802] [4.6 Regression] libgfortran/intrinsics/ctime.c:75:3: error: too few arguments to function 'ctime_r'
dave at hiauly1 dot hia.nrc.ca
gcc-bugzilla@gcc.gnu.org
Mon Feb 21 19:47:00 GMT 2011
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47802
--- Comment #12 from dave at hiauly1 dot hia.nrc.ca 2011-02-21 19:38:33 UTC ---
On Mon, 21 Feb 2011, jakub at gcc dot gnu.org wrote:
> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47802
>
> --- Comment #11 from Jakub Jelinek <jakub at gcc dot gnu.org> 2011-02-21 18:58:27 UTC ---
> In libgfortran it is not the user, but libgfortran implementation, so it makes
> sure it always passes buffer of at least 26 bytes. If there are OSes where we
> can't trust ctime_r, we could either blacklist them (or whitelist the known
> good ones), or on some of them try to supply larger buffer (is there any
> implementation that would overflow say 256 or 1024 bytes)?
The gnulib thread that led to the autoconf recommendation suggests using
strftime. localtime_r is thread safe.
Besides the buffer overflow issues, asctime_r and ctime_r do not honor
i18n, and incorrect values are produced for some input values. For example,
some Solaris versions silently generate incorrect values for timestamps
before 1900.
See:
http://www.mail-archive.com/bug-gnulib@gnu.org/msg02248.html
Dave
More information about the Gcc-bugs
mailing list