From 5020361be44d09a01243f53cda220da185e367c9 Mon Sep 17 00:00:00 2001 From: Zack Middleton Date: Mon, 12 Jan 2015 18:26:47 -0600 Subject: [PATCH] Fix off-by-one range checks in Team Arena UI --- code/ui/ui_main.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/code/ui/ui_main.c b/code/ui/ui_main.c index 7d06e180..50b708ab 100644 --- a/code/ui/ui_main.c +++ b/code/ui/ui_main.c @@ -1314,7 +1314,7 @@ static void UI_DrawPlayerModel(rectDef_t *rect) { } static void UI_DrawNetSource(rectDef_t *rect, float scale, vec4_t color, int textStyle) { - if (ui_netSource.integer < 0 || ui_netSource.integer > numNetSources) { + if (ui_netSource.integer < 0 || ui_netSource.integer >= numNetSources) { ui_netSource.integer = 0; } Text_Paint(rect->x, rect->y, scale, color, va("Source: %s", netSources[ui_netSource.integer]), 0, 0, textStyle); @@ -1347,7 +1347,7 @@ static void UI_DrawNetMapCinematic(rectDef_t *rect, float scale, vec4_t color) { static void UI_DrawNetFilter(rectDef_t *rect, float scale, vec4_t color, int textStyle) { - if (ui_serverFilterType.integer < 0 || ui_serverFilterType.integer > numServerFilters) { + if (ui_serverFilterType.integer < 0 || ui_serverFilterType.integer >= numServerFilters) { ui_serverFilterType.integer = 0; } Text_Paint(rect->x, rect->y, scale, color, va("Filter: %s", serverFilters[ui_serverFilterType.integer].description), 0, 0, textStyle); @@ -1394,7 +1394,7 @@ static void UI_DrawTierMapName(rectDef_t *rect, float scale, vec4_t color, int t i = 0; } j = trap_Cvar_VariableValue("ui_currentMap"); - if (j < 0 || j > MAPS_PER_TIER) { + if (j < 0 || j >= MAPS_PER_TIER) { j = 0; } @@ -1408,7 +1408,7 @@ static void UI_DrawTierGameType(rectDef_t *rect, float scale, vec4_t color, int i = 0; } j = trap_Cvar_VariableValue("ui_currentMap"); - if (j < 0 || j > MAPS_PER_TIER) { + if (j < 0 || j >= MAPS_PER_TIER) { j = 0; } @@ -1707,13 +1707,13 @@ static int UI_OwnerDrawWidth(int ownerDraw, float scale) { s = va("%i. %s", ownerDraw-UI_REDTEAM1 + 1, text); break; case UI_NETSOURCE: - if (ui_netSource.integer < 0 || ui_netSource.integer > numNetSources) { + if (ui_netSource.integer < 0 || ui_netSource.integer >= numNetSources) { ui_netSource.integer = 0; } s = va("Source: %s", netSources[ui_netSource.integer]); break; case UI_NETFILTER: - if (ui_serverFilterType.integer < 0 || ui_serverFilterType.integer > numServerFilters) { + if (ui_serverFilterType.integer < 0 || ui_serverFilterType.integer >= numServerFilters) { ui_serverFilterType.integer = 0; } s = va("Filter: %s", serverFilters[ui_serverFilterType.integer].description ); @@ -2795,7 +2795,7 @@ static void UI_StartSinglePlayer(void) { i = 0; } j = trap_Cvar_VariableValue("ui_currentMap"); - if (j < 0 || j > MAPS_PER_TIER) { + if (j < 0 || j >= MAPS_PER_TIER) { j = 0; }