From bf146bec8d059c83fe02002d4e38f8b76a7a1973 Mon Sep 17 00:00:00 2001 From: marcus o'flaherty Date: Fri, 7 Aug 2026 16:44:21 +0000 Subject: [PATCH] check optional unique_ptr in BufferDispatcher is used before de-referencing --- src/DataModelBase/BufferDispatcher.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/DataModelBase/BufferDispatcher.h b/src/DataModelBase/BufferDispatcher.h index 5e04972..a8c186a 100644 --- a/src/DataModelBase/BufferDispatcher.h +++ b/src/DataModelBase/BufferDispatcher.h @@ -89,10 +89,10 @@ namespace ToolFramework{ //std::unique_lock lock(*args->algorithms_mtx); if(args->algorithms->size()==0){ usleep(100); - lock->unlock(); + if(lock) lock->unlock(); return; } - lock->unlock(); + if(lock) lock->unlock(); args->buffer->Swap(args->local_buffer); @@ -101,7 +101,7 @@ namespace ToolFramework{ return; } - lock->lock(); + if(lock) lock->lock(); for(size_t i = 0; i < args->local_buffer.size(); i++){ for(size_t j = 0; j < args->algorithms->size(); j++){ @@ -121,7 +121,7 @@ namespace ToolFramework{ args->local_buffer.at(i) = 0; } - lock->unlock(); + if(lock) lock->unlock(); args->local_buffer.clear();