summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSlávek Banko <slavek.banko@axis.cz>2024-09-27 14:26:22 +0200
committerSlávek Banko <slavek.banko@axis.cz>2024-09-27 14:59:07 +0200
commit3d8df21c1d749ca5188ee5c458c479c23402c153 (patch)
tree88b240fce64d15622d8bc446a62bd4694cc519ce
parent23d94945e51503897be2d4a574be366386764f1c (diff)
downloadtdelibs-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.cpp12
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)))