summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Hung <alex.hung@amd.com>2024-04-22 13:43:14 -0600
committerAlex Deucher <alexander.deucher@amd.com>2024-04-26 17:22:44 -0400
commit3ac31c9a707dd1c7c890b95333182f955e9dcb57 (patch)
tree7e44e7e0edb27fb7e481088ee928ecc51c4a71ec
parentf1fd8a0a54e6d23a6d16ee29159f247862460fd1 (diff)
drm/amd/display: Do not return negative stream id for array
[WHY] resource_stream_to_stream_idx returns an array index and it return -1 when not found; however, -1 is not a valid array index number. [HOW] When this happens, call ASSERT(), and return a zero instead. This fixes an OVERRUN and an NEGATIVE_RETURNS issues reported by Coverity. Reviewed-by: Rodrigo Siqueira <rodrigo.siqueira@amd.com> Acked-by: Wayne Lin <wayne.lin@amd.com> Signed-off-by: Alex Hung <alex.hung@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
-rw-r--r--drivers/gpu/drm/amd/display/dc/core/dc_resource.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/gpu/drm/amd/display/dc/core/dc_resource.c b/drivers/gpu/drm/amd/display/dc/core/dc_resource.c
index 25b5e41648c4..f281dc89550b 100644
--- a/drivers/gpu/drm/amd/display/dc/core/dc_resource.c
+++ b/drivers/gpu/drm/amd/display/dc/core/dc_resource.c
@@ -2243,6 +2243,13 @@ static int resource_stream_to_stream_idx(struct dc_state *state,
stream_idx = i;
break;
}
+
+ /* never return negative array index */
+ if (stream_idx == -1) {
+ ASSERT(0);
+ return 0;
+ }
+
return stream_idx;
}