diff options
author | Piotr Srebrny <piotr.srebrny@qt.io> | 2021-11-03 14:45:58 +0100 |
---|---|---|
committer | Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> | 2021-11-09 16:14:20 +0000 |
commit | a991850c5aef363ff960b4ff7a7753a69741a732 (patch) | |
tree | d510e0eaa3efe988748f58241aa0b4dc6f23b47b /src/multimedia/platform/windows/mediacapture/qwindowsmediadevicereader.cpp | |
parent | ab0257485b50a9afe30055b1f7b9dbebaaba99a9 (diff) | |
download | qtmultimedia-a991850c5aef363ff960b4ff7a7753a69741a732.tar.gz |
Avoid implicit conversion to pointer from QWindowsIUPointer
When converting from QWindowsIUPointer<T> to T* we can accidentally
leak pointer when doing assignment operation such as: var_a = var_b.
If var_a is T* and var_b is QWindowsIUPointer<T>, the pointer
is set on var_a without any warning but the reference counting is
incorrect.
Change-Id: I8e770185856f5c1d84dac610fe7f95631dcf4308
Reviewed-by: André de la Rocha <andre.rocha@qt.io>
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
(cherry picked from commit 0a86e3e2778dfe7860aa4712ff94069e78648586)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
Diffstat (limited to 'src/multimedia/platform/windows/mediacapture/qwindowsmediadevicereader.cpp')
-rw-r--r-- | src/multimedia/platform/windows/mediacapture/qwindowsmediadevicereader.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/multimedia/platform/windows/mediacapture/qwindowsmediadevicereader.cpp b/src/multimedia/platform/windows/mediacapture/qwindowsmediadevicereader.cpp index 3cbe259af..16414cca5 100644 --- a/src/multimedia/platform/windows/mediacapture/qwindowsmediadevicereader.cpp +++ b/src/multimedia/platform/windows/mediacapture/qwindowsmediadevicereader.cpp @@ -692,7 +692,7 @@ QMediaRecorder::Error QWindowsMediaDeviceReader::startRecording( QWindowsIUPointer<IMFSinkWriter> sinkWriter; hr = MFCreateSinkWriterFromURL(reinterpret_cast<LPCWSTR>(fileName.utf16()), - nullptr, writerAttributes, sinkWriter.address()); + nullptr, writerAttributes.get(), sinkWriter.address()); if (FAILED(hr)) return QMediaRecorder::LocationNotWritable; |