From b113c3a66cf8367955d0f553310a0cd073acfe32 Mon Sep 17 00:00:00 2001 From: Carl Zhang Date: Mon, 17 Jul 2023 03:15:39 -0400 Subject: [PATCH] drm: limit the array size to avoid out of range map is a array, which could be accessed by index, even the index is out of range. Fixes #722 Signed-off-by: Carl Zhang --- va/drm/va_drm_utils.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/va/drm/va_drm_utils.c b/va/drm/va_drm_utils.c index 5f378d51d..ec550a73b 100644 --- a/va/drm/va_drm_utils.c +++ b/va/drm/va_drm_utils.c @@ -88,12 +88,9 @@ VA_DRM_GetDriverNames(VADriverContextP ctx, char **drivers, unsigned *num_driver for (unsigned i = 0; i < ARRAY_SIZE(map); i++) { if (strcmp(map[i].drm_driver, drm_driver) == 0) { const char * const *va_drivers = map[i].va_driver; + for (; count < MAX_NAMES && va_drivers[count] && count < *num_drivers; count++) + drivers[count] = strdup(va_drivers[count]); - while (va_drivers[count]) { - if (count < MAX_NAMES && count < *num_drivers) - drivers[count] = strdup(va_drivers[count]); - count++; - } break; } }