forked from OSchip/llvm-project
Re-order the base classes to prevent a crash in Linux.
In the initialization list of IOHandlerConfirm, *this is basically casting IOHandlerConfirm to its base IOHandlerDelegate and passing it to constructor of IOHandlerEditline which uses it and crashes as constructor of IOHandlerDelegate is still not called. Re-ordering the base classes makes sure that constructor of IOHandlerDelegate runs first. It would be good to have a test case for this case too. llvm-svn: 222816
This commit is contained in:
parent
ee5772faaa
commit
05200e3b19
|
@ -628,9 +628,11 @@ namespace lldb_private {
|
|||
bool m_interrupt_exits;
|
||||
};
|
||||
|
||||
// The order of base classes is important. Look at the constructor of IOHandlerConfirm
|
||||
// to see how.
|
||||
class IOHandlerConfirm :
|
||||
public IOHandlerEditline,
|
||||
public IOHandlerDelegate
|
||||
public IOHandlerDelegate,
|
||||
public IOHandlerEditline
|
||||
{
|
||||
public:
|
||||
IOHandlerConfirm (Debugger &debugger,
|
||||
|
|
Loading…
Reference in New Issue