projects
/
platform
/
upstream
/
opencv.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
c95a564
)
Merge pull request #20293 from endjkv:fix-mem-leak-when-throw
author
xzvno
<xzvno@outlook.com>
Sat, 26 Jun 2021 21:01:31 +0000
(
05:01
+0800)
committer
GitHub
<noreply@github.com>
Sat, 26 Jun 2021 21:01:31 +0000
(
00:01
+0300)
* fix memory leak when exception is thrown
modules/core/src/system.cpp
patch
|
blob
|
history
diff --git
a/modules/core/src/system.cpp
b/modules/core/src/system.cpp
index af4a62181697239ad2f419bd7dc330e793b82b0d..441457d50fd23099203adc7458437d8e4b19d097 100644
(file)
--- a/
modules/core/src/system.cpp
+++ b/
modules/core/src/system.cpp
@@
-1835,7
+1835,15
@@
void* TLSDataContainer::getData() const
{
// Create new data instance and save it to TLS storage
pData = createDataInstance();
- getTlsStorage().setData(key_, pData);
+ try
+ {
+ getTlsStorage().setData(key_, pData);
+ }
+ catch (...)
+ {
+ deleteDataInstance(pData);
+ throw;
+ }
}
return pData;
}