Bug#377310: gcc: [inaccurate] warning: the use of `mktemp' is dangerous, better use `mkstemp'
Package: gcc
Version: 4:4.1.1-3
Severity: normal
While compiling binutils-2.17 from (Debian) sources, gcc reports following:
bucomm.o: In function `make_tempname':
/usr/src/net/deb/src/binutils-2.17/binutils/bucomm.c:426: warning: the use of `mktemp' is dangerous, better use `mkstemp'
The proper fix is to use `mkdtemp' in the code, but the error message
does not tell this. The developers may mistakenly disregard this
message when they think "Oh, I create directories and `mkstemp' cannot
create directories, so the warning does not apply to this code".
SUGGESTION
a) Add to the manual page, mkstemp.1, that this function works for files
only. Add Crosss reference to mkdtemp and vice versa
(from mkdtemp => mkstemp.1)
b) Implement better checking in gcc to differtiate directories from files
when displaying warning about use of mktemp function.
OR
mention both mkstemp and mkdtemp in the warning message if the
parser cannot know which is the case
This message has been submitted to GCC bugzilla as well:
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28310+
-- System Information:
Debian Release: testing/unstable
APT prefers unstable
APT policy: (500, 'unstable'), (500, 'stable')
Architecture: i386 (i686)
Shell: /bin/sh linked to /bin/dash
Kernel: Linux 2.6.16-2-686
Locale: LANG=C, LC_CTYPE=C (charmap=ISO-8859-1) (ignored: LC_ALL set to en_US)
Versions of packages gcc depends on:
ii cpp 4:4.1.1-3 The GNU C preprocessor (cpp)
ii gcc-4.1 4.1.1-7 The GNU C compiler
Versions of packages gcc recommends:
ii libc6-dev [libc-dev] 2.3.6-15 GNU C Library: Development Librari
-- no debconf information
Reply to: