diff options
author | Slávek Banko <slavek.banko@axis.cz> | 2024-09-27 14:26:22 +0200 |
---|---|---|
committer | Slávek Banko <slavek.banko@axis.cz> | 2024-09-27 14:59:07 +0200 |
commit | 3d8df21c1d749ca5188ee5c458c479c23402c153 (patch) | |
tree | 88b240fce64d15622d8bc446a62bd4694cc519ce | |
parent | 23d94945e51503897be2d4a574be366386764f1c (diff) | |
download | tdelibs-3d8df21c1d749ca5188ee5c458c479c23402c153.tar.gz tdelibs-3d8df21c1d749ca5188ee5c458c479c23402c153.zip |
tdeio - scheduler: Fix crash if the job or slave are not valid.
Signed-off-by: Slávek Banko <slavek.banko@axis.cz>
(cherry picked from commit e22af1c0a03ce2cb14b051edfc8ee11b31896341)
-rw-r--r-- | tdeio/tdeio/scheduler.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/tdeio/tdeio/scheduler.cpp b/tdeio/tdeio/scheduler.cpp index 30c2d8375..abc631284 100644 --- a/tdeio/tdeio/scheduler.cpp +++ b/tdeio/tdeio/scheduler.cpp @@ -796,6 +796,18 @@ Scheduler::_assignJobToSlave(TDEIO::Slave *slave, SimpleJob *job) { // kdDebug(7006) << "_assignJobToSlave( " << job << ", " << slave << ")" << endl; TQString dummy; + if (!job) + { + kdDebug(7006) << "_assignJobToSlave(): ERROR, non-existing job." << endl; + return false; + } + if (!slave) + { + kdDebug(7006) << "_assignJobToSlave(): ERROR, non-existing slave." << endl; + job->kill(); + return false; + } + if ((slave->slaveProtocol() != KProtocolManager::slaveProtocol( job->url(), dummy )) || (!newJobs.removeRef(job))) |