https://bugs.kde.org/show_bug.cgi?id=425993

Igor Kushnir <igor...@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         Resolution|---                         |FIXED
      Latest Commit|                            |https://invent.kde.org/kdev
                   |                            |elop/kdevelop/commit/79c2b0
                   |                            |f65c258cb0d931f55aa417bb5cb
                   |                            |8714ca1
             Status|ASSIGNED                    |RESOLVED
   Version Fixed In|                            |5.6.1

--- Comment #1 from Igor Kushnir <igor...@gmail.com> ---
Git commit 79c2b0f65c258cb0d931f55aa417bb5cb8714ca1 by Igor Kushnir.
Committed on 15/10/2020 at 15:26.
Pushed by igorkushnir into branch '5.6'.

MIDebugger: check ICore::debugController() for nullptr

When a user exits KDevelop while debugging a program, a queued call to
MIDebugger::readyReadStandardOutput() may be invoked during or after
~CorePrivate(). If this happens after ~DebugController() (which is the
parent of BreakpointModel), a crash is likely, because
readyReadStandardOutput() indirectly calls
MIBreakpointController::updateFromDebugger(), which assumes that
BreakpointModel is not null (as do all other MIBreakpointController's
member functions).

Note that MIDebugger::readyReadStandardOutput() after ~DebugController()
can be invoked both from inside ~MIDebugger() (more precisely, from
inside the QProcess::waitForFinished() call) and before the destructor.

There is no need to process a debugger's standard output and risk a
crash when KDevelop has almost finished shutting down.
FIXED-IN: 5.6.1

M  +10   -0    plugins/debuggercommon/midebugger.cpp

https://invent.kde.org/kdevelop/kdevelop/commit/79c2b0f65c258cb0d931f55aa417bb5cb8714ca1

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to