forked from qt-creator/qt-creator
C++: Limit number of nested class instantiations
...to avoid out of memory crashes. Task-number: QTCREATORBUG-18649 Change-Id: I5e121bf4be0fd0c01a97a182ed07ee7552fb68ac Reviewed-by: Przemyslaw Gorszkowski <pgorszkowski@gmail.com> Reviewed-by: Orgad Shaneh <orgads@gmail.com>
This commit is contained in:
@@ -1387,6 +1387,8 @@ void ClassOrNamespace::instantiateNestedClasses(ClassOrNamespace *enclosingTempl
|
|||||||
void ClassOrNamespace::NestedClassInstantiator::instantiate(ClassOrNamespace *enclosingTemplateClass,
|
void ClassOrNamespace::NestedClassInstantiator::instantiate(ClassOrNamespace *enclosingTemplateClass,
|
||||||
ClassOrNamespace *enclosingTemplateClassInstantiation)
|
ClassOrNamespace *enclosingTemplateClassInstantiation)
|
||||||
{
|
{
|
||||||
|
if (_alreadyConsideredNestedClassInstantiations.size() >= 3)
|
||||||
|
return;
|
||||||
if (_alreadyConsideredNestedClassInstantiations.contains(enclosingTemplateClass))
|
if (_alreadyConsideredNestedClassInstantiations.contains(enclosingTemplateClass))
|
||||||
return;
|
return;
|
||||||
_alreadyConsideredNestedClassInstantiations.insert(enclosingTemplateClass);
|
_alreadyConsideredNestedClassInstantiations.insert(enclosingTemplateClass);
|
||||||
|
|||||||
Reference in New Issue
Block a user