summaryrefslogtreecommitdiff
path: root/protocols/SkypeWeb/src
diff options
context:
space:
mode:
Diffstat (limited to 'protocols/SkypeWeb/src')
-rw-r--r--protocols/SkypeWeb/src/skype_db.h7
1 files changed, 4 insertions, 3 deletions
diff --git a/protocols/SkypeWeb/src/skype_db.h b/protocols/SkypeWeb/src/skype_db.h
index 633219d214..42403cdc19 100644
--- a/protocols/SkypeWeb/src/skype_db.h
+++ b/protocols/SkypeWeb/src/skype_db.h
@@ -39,19 +39,20 @@ public:
__inline explicit pass_ptrA() : mir_ptr(){}
__inline explicit pass_ptrA(char* _p) : mir_ptr(_p) {}
__inline ~pass_ptrA() { zero(); }
+ __inline char* operator = (char *_p){ zero(); mir_ptr::operator=(_p); }
__inline void zero()
- { char *data = mir_ptr::operator char *();
- if (data) SecureZeroMemory(data, mir_strlen(data));
+ { char *_data = mir_ptr::operator char *();
+ if (_data) SecureZeroMemory(_data, mir_strlen(_data));
}
};
class pass_ptrW : public mir_ptr<WCHAR>
{
-
public:
__inline explicit pass_ptrW() : mir_ptr(){}
__inline explicit pass_ptrW(WCHAR* _p) : mir_ptr(_p) {}
__inline ~pass_ptrW() { zero(); }
+ __inline WCHAR* operator = (WCHAR *_p){ zero(); mir_ptr::operator=(_p); }
__inline void zero()
{ WCHAR *_data = mir_ptr::operator WCHAR *();
if (_data) SecureZeroMemory(_data, mir_wstrlen(_data)*sizeof(WCHAR));