summaryrefslogtreecommitdiff
path: root/src/multimedia/platform/windows/mediacapture/qwindowsmediadevicereader.cpp
diff options
context:
space:
mode:
authorPiotr Srebrny <piotr.srebrny@qt.io>2021-11-03 14:45:58 +0100
committerQt Cherry-pick Bot <cherrypick_bot@qt-project.org>2021-11-09 16:14:20 +0000
commita991850c5aef363ff960b4ff7a7753a69741a732 (patch)
treed510e0eaa3efe988748f58241aa0b4dc6f23b47b /src/multimedia/platform/windows/mediacapture/qwindowsmediadevicereader.cpp
parentab0257485b50a9afe30055b1f7b9dbebaaba99a9 (diff)
downloadqtmultimedia-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.cpp2
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;