Home » U++ Library support » U++ Core » MemorySanitizer: use-of-uninitialized-value in CoWork
MemorySanitizer: use-of-uninitialized-value in CoWork [message #52106] |
Fri, 19 July 2019 22:17 |
Novo
Messages: 1371 Registered: December 2006
|
Ultimate Contributor |
|
|
Could you please apply a patch below to CoWork?
MemorySanitizer is complaining about uninitialized memory. Theoretically, default constructor of std::exception_ptr is supposed to initialized it, but practically I'm getting a warning.
The problem can be easily fixed.
diff --git a/uppsrc/Core/CoWork.cpp b/uppsrc/Core/CoWork.cpp
index 46e49dc15..abfbae2b8 100644
--- a/uppsrc/Core/CoWork.cpp
+++ b/uppsrc/Core/CoWork.cpp
@@ -113,7 +113,7 @@ void CoWork::Pool::DoJob(MJob& job)
}
lock.Leave();
- std::exception_ptr exc;
+ std::exception_ptr exc = nullptr;
try {
if(looper)
work->looper_fn();
@@ -370,6 +370,7 @@ int CoWork::GetWorkerIndex()
}
CoWork::CoWork()
+: exc(nullptr)
{
LLOG("CoWork constructed " << FormatHex(this));
todo = 0;
Patched file is attached.
-
Attachment: CoWork.cpp
(Size: 7.33KB, Downloaded 180 times)
Regards,
Novo
|
|
|
Goto Forum:
Current Time: Fri Sep 20 07:39:09 CEST 2024
Total time taken to generate the page: 0.03205 seconds
|