diff options
-rw-r--r-- | protocols/SkypeWeb/src/skype_db.h | 7 |
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));
|