[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#921136: lintian: hardening-no-fortify-functions possible false positive



On Wed, 13 Feb 2019, Chris Lamb wrote:

I can confirm this. Yes, it does look like these are some sort of
auto-generated C++ function. However, is there any reason why these
should not be subject to hardening too? If they should, then either
we are missing some kind of compiler/linker flag or perhaps even
these functions are being generated incorrectly (!).

If not, then we need to discover how to detect such functions and
ignore them in this Lintian check.

Decoding the function name with c++filt reveals:

$ c++filt _ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_M_constructIPKwEEvT_S8_St20forward_iterator_tag
void std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_M_construct<wchar_t const*>(wchar_t const*, wchar_t const*, std::forward_iterator_tag)

I really don't understand C++ templates very well, but grepping around the system includes directory, I have a hunch this might be the wmemcpy in question:
https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/bits/char_traits.h#L477

Scott


Reply to: