diff --git a/modules/core/src/system.cpp b/modules/core/src/system.cpp index 5fbb453742..768280e1a6 100644 --- a/modules/core/src/system.cpp +++ b/modules/core/src/system.cpp @@ -1085,11 +1085,14 @@ public: for(size_t i = 0; i < threads.size(); i++) { - std::vector& thread_slots = threads[i]->slots; - if (thread_slots.size() > slotIdx && thread_slots[slotIdx]) + if(threads[i]) { - dataVec.push_back(thread_slots[slotIdx]); - threads[i]->slots[slotIdx] = 0; + std::vector& thread_slots = threads[i]->slots; + if (thread_slots.size() > slotIdx && thread_slots[slotIdx]) + { + dataVec.push_back(thread_slots[slotIdx]); + threads[i]->slots[slotIdx] = 0; + } } } @@ -1116,9 +1119,12 @@ public: for(size_t i = 0; i < threads.size(); i++) { - std::vector& thread_slots = threads[i]->slots; - if (thread_slots.size() > slotIdx && thread_slots[slotIdx]) - dataVec.push_back(thread_slots[slotIdx]); + if(threads[i]) + { + std::vector& thread_slots = threads[i]->slots; + if (thread_slots.size() > slotIdx && thread_slots[slotIdx]) + dataVec.push_back(thread_slots[slotIdx]); + } } }