From: Alain Spineux Date: Thu, 16 Feb 2023 10:50:56 +0000 (+0100) Subject: win32: cleanup VSSClient constructor X-Git-Tag: Beta-15.0.0~250 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5fb662397a78f271cb3011abae1cbb9a36688541;p=thirdparty%2Fbacula.git win32: cleanup VSSClient constructor - VSSClient is a pure class that has virtual methods, using a memset() to initialize the class is not appropriate because the object include a VPTR that is initialized by the constructor - gcc 11.3 complains about that - initializing the class the right way cannot be wrong - Using C++11 in-member class initializers (we are not building win32 on centos 5 anymore but on modern platforms :-) --- diff --git a/bacula/src/win32/filed/vss.cpp b/bacula/src/win32/filed/vss.cpp index cd8154aee..c7e572178 100644 --- a/bacula/src/win32/filed/vss.cpp +++ b/bacula/src/win32/filed/vss.cpp @@ -164,7 +164,6 @@ VSSPathConvertW(const wchar_t *szFilePath, wchar_t *szShadowPath, int nBuflen) // Constructor VSSClient::VSSClient() { - memset(this, 0, sizeof(VSSClient)); m_pAlistWriterState = New(alist(10, not_owned_by_alist)); m_pAlistWriterInfoText = New(alist(10, owned_by_alist)); m_uidCurrentSnapshotSet = GUID_NULL; diff --git a/bacula/src/win32/filed/vss.h b/bacula/src/win32/filed/vss.h index c5fe4366b..38cd21ced 100644 --- a/bacula/src/win32/filed/vss.h +++ b/bacula/src/win32/filed/vss.h @@ -74,25 +74,25 @@ private: virtual void QuerySnapshotSet(GUID snapshotSetID) = 0; protected: - JCR *m_jcr; + JCR *m_jcr = NULL; - DWORD m_dwContext; + DWORD m_dwContext = 0; - IUnknown* m_pVssObject; - GUID m_uidCurrentSnapshotSet; + IUnknown* m_pVssObject = NULL; + GUID m_uidCurrentSnapshotSet = GUID_NULL; - MTab *m_VolumeList; + MTab *m_VolumeList = NULL; - alist *m_pAlistWriterState; - alist *m_pAlistWriterInfoText; + alist *m_pAlistWriterState = NULL; + alist *m_pAlistWriterInfoText = NULL; - bool m_bCoInitializeCalled; - bool m_bCoInitializeSecurityCalled; - bool m_bDuringRestore; /* true if we are doing a restore */ - bool m_bBackupIsInitialized; - bool m_bWriterStatusCurrent; + bool m_bCoInitializeCalled = false; + bool m_bCoInitializeSecurityCalled = false; + bool m_bDuringRestore = false; /* true if we are doing a restore */ + bool m_bBackupIsInitialized = false; + bool m_bWriterStatusCurrent = false; - WCHAR *m_metadata; + WCHAR *m_metadata = NULL; void CreateVSSVolumeList(); void DeleteVSSVolumeList();