https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65018
Bug ID: 65018 Summary: Use secure_getenv when available Product: gcc Version: 5.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: libstdc++ Assignee: unassigned at gcc dot gnu.org Reporter: redi at gcc dot gnu.org The calls to getenv in the following files should use the GNU extension secure_getenv: include/ext/mt_allocator.h: _M_force_new(std::getenv("GLIBCXX_FORCE_NEW") ? true : false) include/ext/mt_allocator.h: std::getenv("GLIBCXX_FORCE_NEW") ? true : false); include/ext/pool_allocator.h: if (std::getenv("GLIBCXX_FORCE_NEW")) include/profile/impl/profiler_trace.h: char* __env_value = std::getenv(__env_var); include/profile/impl/profiler_trace.h: char* __env_trace_file_name = std::getenv(_GLIBCXX_PROFILE_TRACE_ENV_VAR); include/profile/impl/profiler_trace.h: = std::getenv(_GLIBCXX_PROFILE_MAX_WARN_COUNT_ENV_VAR); include/profile/impl/profiler_trace.h: const char* __env_value = std::getenv(__factor->__env_var); src/c++11/debug.cc: const char* __nptr = std::getenv("GLIBCXX_DEBUG_MESSAGE_LENGTH"); src/c++98/localename.cc: char* __env = std::getenv("LC_ALL"); src/c++98/localename.cc: __env = std::getenv("LANG"); src/c++98/localename.cc: __env = std::getenv(_S_categories[__i]); src/c++98/localename.cc: __env = std::getenv(_S_categories[__i]); src/c++98/localename.cc: __env = std::getenv(_S_categories[__i]); >From Jakub on IRC: "note that at some point, there used to be __secure_getenv instead. perhaps look at libgfortran configury what it does for this"