drm_hwcomposer: clang-tidy: enable clang-analyzer-* checks
+ fixed existing tidy warnings for these checks.
Signed-off-by: Roman Stratiienko <r.stratiienko@gmail.com>
diff --git a/.ci/.gitlab-ci-clang-tidy-coarse.sh b/.ci/.gitlab-ci-clang-tidy-coarse.sh
index cd22516..a2d367c 100755
--- a/.ci/.gitlab-ci-clang-tidy-coarse.sh
+++ b/.ci/.gitlab-ci-clang-tidy-coarse.sh
@@ -2,7 +2,7 @@
. ./.ci/.common.sh
-TIDY_COARSE_CHECKS="-*,android-*,bugprone-*,cert-*,"
+TIDY_COARSE_CHECKS="-*,android-*,bugprone-*,cert-*,clang-analyzer-*,"
TIDY_COARSE_CHECKS+="google-*,"
TIDY_COARSE_CHECKS+="-google-readability-braces-around-statements,"
TIDY_COARSE_CHECKS+="-google-readability-casting,"
diff --git a/DrmHwcTwo.cpp b/DrmHwcTwo.cpp
index 02ad03d..dc2cd88 100644
--- a/DrmHwcTwo.cpp
+++ b/DrmHwcTwo.cpp
@@ -750,6 +750,9 @@
.CreateComposition();
composition->Init(drm_, crtc_, importer_.get(), planner_.get(), frame_no_);
int ret = composition->SetDisplayMode(*mode);
+ if (ret) {
+ return HWC2::Error::BadConfig;
+ }
ret = compositor_.ApplyComposition(std::move(composition));
if (ret) {
ALOGE("Failed to queue dpms composition on %d", ret);
diff --git a/compositor/DrmDisplayComposition.cpp b/compositor/DrmDisplayComposition.cpp
index 1e9e127..a8dc0fc 100644
--- a/compositor/DrmDisplayComposition.cpp
+++ b/compositor/DrmDisplayComposition.cpp
@@ -72,8 +72,10 @@
}
int DrmDisplayComposition::SetDisplayMode(const DrmMode &display_mode) {
- if (!validate_composition_type(DRM_COMPOSITION_TYPE_MODESET))
+ if (!validate_composition_type(DRM_COMPOSITION_TYPE_MODESET)) {
+ ALOGE("SetDisplayMode() Failed to validate composition type");
return -EINVAL;
+ }
display_mode_ = display_mode;
dpms_mode_ = DRM_MODE_DPMS_ON;
type_ = DRM_COMPOSITION_TYPE_MODESET;
diff --git a/compositor/DrmDisplayCompositor.cpp b/compositor/DrmDisplayCompositor.cpp
index b33c9c0..5331b6d 100644
--- a/compositor/DrmDisplayCompositor.cpp
+++ b/compositor/DrmDisplayCompositor.cpp
@@ -341,7 +341,7 @@
hwc_frect_t source_crop;
uint64_t rotation = 0;
uint64_t alpha = 0xFFFF;
- uint64_t blend;
+ uint64_t blend = UINT64_MAX;
uint64_t color_encoding = UINT64_MAX;
uint64_t color_range = UINT64_MAX;
@@ -541,7 +541,7 @@
}
}
- if (plane->blend_property().id()) {
+ if (plane->blend_property().id() && blend != UINT64_MAX) {
ret = drmModeAtomicAddProperty(pset, plane->id(),
plane->blend_property().id(), blend) < 0;
if (ret) {
diff --git a/drm/DrmConnector.cpp b/drm/DrmConnector.cpp
index cfafc1d..7155bf2 100644
--- a/drm/DrmConnector.cpp
+++ b/drm/DrmConnector.cpp
@@ -58,7 +58,7 @@
ALOGE("Could not get CRTC_ID property\n");
return ret;
}
- ret = UpdateEdidProperty();
+ UpdateEdidProperty();
if (writeback()) {
ret = drm_->GetConnectorProperty(*this, "WRITEBACK_PIXEL_FORMATS",
&writeback_pixel_formats_);
diff --git a/drm/VSyncWorker.cpp b/drm/VSyncWorker.cpp
index 8565aac..9756a6a 100644
--- a/drm/VSyncWorker.cpp
+++ b/drm/VSyncWorker.cpp
@@ -92,6 +92,8 @@
int VSyncWorker::SyntheticWaitVBlank(int64_t *timestamp) {
struct timespec vsync;
int ret = clock_gettime(CLOCK_MONOTONIC, &vsync);
+ if (ret)
+ return ret;
float refresh = 60.0F; // Default to 60Hz refresh rate
DrmConnector *conn = drm_->GetConnectorForDisplay(display_);