aboutsummaryrefslogtreecommitdiffstats
path: root/src/core/function/basic/SingletonStorage.h
diff options
context:
space:
mode:
authorsaturneric <[email protected]>2023-12-03 12:27:47 +0000
committersaturneric <[email protected]>2023-12-03 12:27:47 +0000
commitae2717c3787a34a2c60d6aeef2d0b8bb8e551a1e (patch)
tree3e4ca2b2add05bd101efca9741c732506a7da8cc /src/core/function/basic/SingletonStorage.h
parentrefeactor: reduce codes in pinentry (diff)
downloadGpgFrontend-ae2717c3787a34a2c60d6aeef2d0b8bb8e551a1e.tar.gz
GpgFrontend-ae2717c3787a34a2c60d6aeef2d0b8bb8e551a1e.zip
feat: improve memory security of function framework
Diffstat (limited to 'src/core/function/basic/SingletonStorage.h')
-rw-r--r--src/core/function/basic/SingletonStorage.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/core/function/basic/SingletonStorage.h b/src/core/function/basic/SingletonStorage.h
index 04fb2f07..e678fe44 100644
--- a/src/core/function/basic/SingletonStorage.h
+++ b/src/core/function/basic/SingletonStorage.h
@@ -28,10 +28,15 @@
#pragma once
+#include "core/function/SecureMemoryAllocator.h"
+
namespace GpgFrontend {
class ChannelObject;
+using ChannelObjectPtr =
+ std::unique_ptr<ChannelObject, SecureObjectDeleter<ChannelObject>>;
+
class GPGFRONTEND_CORE_EXPORT SingletonStorage {
public:
/**
@@ -75,7 +80,7 @@ class GPGFRONTEND_CORE_EXPORT SingletonStorage {
* @param p_obj
* @return T*
*/
- auto SetObjectInChannel(int channel, std::unique_ptr<ChannelObject> p_obj)
+ auto SetObjectInChannel(int channel, ChannelObjectPtr p_obj)
-> ChannelObject*;
private: