summaryrefslogtreecommitdiff
path: root/indra/llcommon/llsingleton.cpp
diff options
context:
space:
mode:
authorNat Goodspeed <nat@lindenlab.com>2019-12-12 07:39:23 -0500
committerNat Goodspeed <nat@lindenlab.com>2020-03-25 15:28:17 -0400
commit1fc7c994d6232e373fc9f36e72ed9855d4d7cd76 (patch)
tree641cd3e26083b67f3d993acf74cde3a10cd100fb /indra/llcommon/llsingleton.cpp
parent6586918df0039f60c1c02c134a6a0e0762997d56 (diff)
DRTVWR-494: Fix VS LLError::Log::demangle() vulnerability.
The Windows implementation of demangle() assumed that a "mangled" class name produced by typeid(class).name() always starts with the prefix "class ", checked for that and removed it. If the mangled name didn't start with that prefix, it would emit a debug message and return the full name. When the class in question is actually a struct, the prefix is "struct " instead. But when demangle() was being called before logging had been fully initialized, the debug message remarking that it didn't start with "class " crashed. Look for either "class " or "struct " prefix. Remove whichever is found and return the rest of the name. If neither is found, only log if logging is available.
Diffstat (limited to 'indra/llcommon/llsingleton.cpp')
0 files changed, 0 insertions, 0 deletions