summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJesus Fernandez <jesus.fernandez@theqtcompany.com>2016-05-23 17:28:46 +0200
committerJesus Fernandez <jesus.fernandez@theqtcompany.com>2016-07-25 10:27:52 +0000
commitab940d8fe9affd2ae1bb9cdf0e3f9d41fa49a662 (patch)
tree7f2bb5b68f8d3086877b0b3fac3368e6315ef3de
parent6f28963c50261fffdabd48be0b0dfe20480277bb (diff)
Resource leak fixed
CameraBinV4LImageProcessing::setParameter was leaking the resource fd in some cases in the switch using return instead of break. Change-Id: Ie56eaf4cf1d1b7531094c321f49a818632985628 Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
-rw-r--r--src/plugins/gstreamer/camerabin/camerabinv4limageprocessing.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/plugins/gstreamer/camerabin/camerabinv4limageprocessing.cpp b/src/plugins/gstreamer/camerabin/camerabinv4limageprocessing.cpp
index bf51cbfd0..913c4548d 100644
--- a/src/plugins/gstreamer/camerabin/camerabinv4limageprocessing.cpp
+++ b/src/plugins/gstreamer/camerabin/camerabinv4limageprocessing.cpp
@@ -194,8 +194,10 @@ void CameraBinV4LImageProcessing::setParameter(
const QCameraImageProcessing::WhiteBalanceMode m =
value.value<QCameraImageProcessing::WhiteBalanceMode>();
if (m != QCameraImageProcessing::WhiteBalanceAuto
- && m != QCameraImageProcessing::WhiteBalanceManual)
+ && m != QCameraImageProcessing::WhiteBalanceManual) {
+ qt_safe_close(fd);
return;
+ }
control.value = (m == QCameraImageProcessing::WhiteBalanceAuto) ? true : false;
}
@@ -214,6 +216,7 @@ void CameraBinV4LImageProcessing::setParameter(
break;
default:
+ qt_safe_close(fd);
return;
}