diff options
author | Albert Astals Cid <albert.astals.cid@kdab.com> | 2019-02-14 17:29:57 +0100 |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2019-02-15 07:25:47 -0500 |
commit | ae5e97a00568d15dedea073b58668e646e3c0d2e (patch) | |
tree | 10ba898956021469c0de5db595ca511c0c83cffd /Source/cmCPluginAPI.cxx | |
parent | e3353a0175fb27bc2967c3df78b8be1c0615b21d (diff) | |
download | cmake-ae5e97a00568d15dedea073b58668e646e3c0d2e.tar.gz |
Delete some default constructors and assignment operators
They are unused, but if someone used them they would lead to
problems since they would copy the internal raw pointers
and the destructor would cause double delete
Diffstat (limited to 'Source/cmCPluginAPI.cxx')
-rw-r--r-- | Source/cmCPluginAPI.cxx | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/Source/cmCPluginAPI.cxx b/Source/cmCPluginAPI.cxx index 576d2c37e1..5efc7842a8 100644 --- a/Source/cmCPluginAPI.cxx +++ b/Source/cmCPluginAPI.cxx @@ -491,12 +491,16 @@ public: typedef std::map<cmSourceFile*, cmCPluginAPISourceFile*> derived; typedef derived::iterator iterator; typedef derived::value_type value_type; + cmCPluginAPISourceFileMap() = default; ~cmCPluginAPISourceFileMap() { for (auto const& i : *this) { delete i.second; } } + cmCPluginAPISourceFileMap(const cmCPluginAPISourceFileMap&) = delete; + cmCPluginAPISourceFileMap& operator=(const cmCPluginAPISourceFileMap&) = + delete; }; cmCPluginAPISourceFileMap cmCPluginAPISourceFiles; |