Hi,
While studying QGA VSS code, I collected some correctness and robustness
patches.
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
---
Marc-André Lureau (17):
qga/installer: preserve VssOption registry value across upgrades
qga/vss-win32: fix race condition in COM Release() methods
qga/vss-win32: pass valid SERVICE_STATUS to ControlService
qga/vss-win32: explicit NULL/zero initialization
qga/vss-win32: free bstrWriterName in outer writer loop
qga/vss-win32: pass character count instead of byte count to volume APIs
qga/vss-win32: allow pceltFetched==NULL in IEnumObject::Next
qga/vss-win32: return an interface pointer for IID_IUnknown
qga/vss-win32: use GetLastError() after FindFirstVolumeW failure
qga/vss-win32: guard CloseServiceHandle calls against NULL handles
qga/vss-win32: avoid CRT calls in DllMain debug logging
qga/vss-win32: evaluate err_set() macro argument only once
qga/vss-win32: report QueryStatus return value on failure
qga/vss-win32: check GetLastError() after FindNextVolumeW failure
qga/vss-win32: initialize *num_vols at start of requester_freeze
qga/vss-win32: restrict access to freeze/thaw synchronisation events
qga/vss-win32: log to file during COM+ registration
qga/installer/qemu-ga.wxs | 19 ++++++++--
qga/vss-win32/install.cpp | 31 ++++++++++++++---
qga/vss-win32/provider.cpp | 17 +++++----
qga/vss-win32/requester.cpp | 85 +++++++++++++++++++++++++++++++++++++--------
4 files changed, 124 insertions(+), 28 deletions(-)
---
base-commit: ff1d2d19d7e24893e2012d879f8e73077e17b9bd
change-id: 20260902-qga-6b06950cd896
Best regards,
--
Marc-André Lureau <marcandre.lureau@redhat.com>