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