mirror of
https://github.com/ioquake/ioq3.git
synced 2024-11-10 07:11:46 +00:00
UI_BuildFindPlayerList: avoid array underflow
This function is used in the Team Arena menus I don't think it's actually possible to reach this line with foundPlayerServerNames < 1, because by the time we get here we have set it to 1 + the actual number of servers; but if we did, it would clearly underflow into foundPlayerServerNames[-1], which would be undefined behaviour. gcc 6 diagnoses this with a warning: code/ui/ui_main.c: In function ‘UI_BuildFindPlayerList’: code/ui/ui_main.c:4138:16: warning: array subscript is below array bounds [-Warray-bounds] Also correct the sizeof() invocation to make it more obviously correct (in fact the buffers for names and addresses happen to both be of size MAX_ADDRESSLENGTH, so it was fine, but it's good to be obvious).
This commit is contained in:
parent
c5b6bb0d4b
commit
01bfb1540f
1 changed files with 1 additions and 1 deletions
|
@ -4135,7 +4135,7 @@ static void UI_BuildFindPlayerList(qboolean force) {
|
||||||
else {
|
else {
|
||||||
// add a line that shows the number of servers found
|
// add a line that shows the number of servers found
|
||||||
if (!uiInfo.numFoundPlayerServers) {
|
if (!uiInfo.numFoundPlayerServers) {
|
||||||
Com_sprintf(uiInfo.foundPlayerServerNames[uiInfo.numFoundPlayerServers-1], sizeof(uiInfo.foundPlayerServerAddresses[0]), "no servers found");
|
Com_sprintf(uiInfo.foundPlayerServerNames[0], sizeof(uiInfo.foundPlayerServerNames[0]), "no servers found");
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
Com_sprintf(uiInfo.foundPlayerServerNames[uiInfo.numFoundPlayerServers-1], sizeof(uiInfo.foundPlayerServerAddresses[0]),
|
Com_sprintf(uiInfo.foundPlayerServerNames[uiInfo.numFoundPlayerServers-1], sizeof(uiInfo.foundPlayerServerAddresses[0]),
|
||||||
|
|
Loading…
Reference in a new issue