diff options
author | Mingu Jeon <mingu85.jeon@samsung.com> | 2019-07-29 15:05:20 +0900 |
---|---|---|
committer | HyunKyung Kim <hk310.kim@samsung.com> | 2020-02-20 17:16:32 +0900 |
commit | e1d2deb17cff722e7cf3923b0a7cb098b01ccb94 (patch) | |
tree | fb0e325023c139f7fdfc7d11bccd592297957237 /libhwc2.1/ExynosHWC.cpp | |
parent | 5af4e99aa3177b3e6c715e38863ec97dd39ebd79 (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.cpp | 8 |
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) { |