forked from OSchip/llvm-project
![]() Generally these calls aren't vulnerable to ADL because they involve only primitive types. The ones in <list> and <vector> drag in namespace std but that's OK; the ones in <fstream> and <strstream> are vulnerable iff `CharT` is an enum type, which seems far-fetched. But absolutely zero of them *need* ADL to happen; so in my opinion they should all be consistently qualified, just like calls to any other (non-user-customizable) functions in namespace std. Also: Include <cstring> and <cwchar> in <__string>. We seemed to be getting lucky that <memory> included <iterator> included <iosfwd> included <wchar.h>. That gave us the global-namespace `wmemmove`, but not `_VSTD::wmemmove`. This is now fixed. I didn't touch these headers: <ext/__hash> uses strlen, safely <support/ibm/locale_mgmt_aix.h> uses memcpy, safely <string.h> uses memchr and strchr, safely <wchar.h> uses wcschr, safely <__bsd_locale_fallbacks.h> uses wcsnrtombs, safely Differential Revision: https://reviews.llvm.org/D93061 |
||
---|---|---|
.. | ||
benchmarks | ||
cmake | ||
docs | ||
include | ||
lib | ||
src | ||
test | ||
utils | ||
www | ||
.clang-format | ||
.gitignore | ||
CMakeLists.txt | ||
CREDITS.TXT | ||
LICENSE.TXT | ||
TODO.TXT | ||
appveyor-reqs-install.cmd | ||
appveyor.yml |