summaryrefslogtreecommitdiff
path: root/libhwc2.1/ExynosHWC.cpp
diff options
context:
space:
mode:
authorMingu Jeon <mingu85.jeon@samsung.com>2019-07-29 15:05:20 +0900
committerHyunKyung Kim <hk310.kim@samsung.com>2020-02-20 17:16:32 +0900
commite1d2deb17cff722e7cf3923b0a7cb098b01ccb94 (patch)
treefb0e325023c139f7fdfc7d11bccd592297957237 /libhwc2.1/ExynosHWC.cpp
parent5af4e99aa3177b3e6c715e38863ec97dd39ebd79 (diff)
libhwc2.1: Add exception code in functions
If mode value is negative, return BAD_PARAMETER in - setColorMode - setPowerMode If the layer didn't exist in display, return BAD_LAYER. - destroyLayer Bug: 140158079 Bug: 140158240 Change-Id: Ia181246a4be69843d11b625a972e4642fb68f253 Signed-off-by: Mingu Jeon <mingu85.jeon@samsung.com> Signed-off-by: HyunKyung Kim <hk310.kim@samsung.com>
Diffstat (limited to 'libhwc2.1/ExynosHWC.cpp')
-rw-r--r--libhwc2.1/ExynosHWC.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/libhwc2.1/ExynosHWC.cpp b/libhwc2.1/ExynosHWC.cpp
index f10db57..5439fa4 100644
--- a/libhwc2.1/ExynosHWC.cpp
+++ b/libhwc2.1/ExynosHWC.cpp
@@ -220,6 +220,8 @@ int32_t exynos_destroyLayer(hwc2_device_t *dev, hwc2_display_t display,
ExynosLayer *exynosLayer = checkLayer(exynosDisplay, layer);
if (exynosLayer)
return exynosDisplay->destroyLayer((hwc2_layer_t)exynosLayer);
+ else
+ return HWC2_ERROR_BAD_LAYER;
}
}
@@ -499,6 +501,9 @@ int32_t exynos_setClientTarget(hwc2_device_t *dev, hwc2_display_t display,
int32_t exynos_setColorMode(hwc2_device_t *dev, hwc2_display_t display, int32_t mode)
{
+ if (mode < 0)
+ return HWC2_ERROR_BAD_PARAMETER;
+
ExynosDevice *exynosDevice = checkDevice(dev);
if (exynosDevice) {
@@ -770,6 +775,9 @@ int32_t exynos_setOutputBuffer(hwc2_device_t *dev, hwc2_display_t display,
int32_t exynos_setPowerMode(hwc2_device_t *dev, hwc2_display_t __unused display,
int32_t /*hwc2_power_mode_t*/ __unused mode)
{
+ if (mode < 0)
+ return HWC2_ERROR_BAD_PARAMETER;
+
ExynosDevice *exynosDevice = checkDevice(dev);
if (exynosDevice) {