チケット #48248

gcc-14: connection list size array subscript warning

登録: 2023-06-15 19:16 最終更新: 2023-06-18 14:27

報告者:
担当者:
チケットの種類:
状況:
完了
コンポーネント:
マイルストーン:
優先度:
5 - 中
重要度:
5 - 中
解決法:
修正済み
ファイル:
1

詳細

Building S3_0 with gcc-14 development version:

../../../src/server/sernet.c: In function 'send_ping_times_to_all':
../../../src/server/sernet.c:1471:23: error: array subscript 320 is above array bounds of 'int[320]' [-Werror=array-bounds=]
 1471 |     packet.conn_id_new[i] = pconn->id;
      |     ~~~~~~~~~~~~~~~~~~^~~
In file included from ../../../src/common/networking/packets.h:90,
                 from ../../../src/common/game.h:36,
                 from ../../../src/server/sernet.c:75:
../../../src/common/packets_gen.h:818:7: note: while referencing 'conn_id_new'
  818 |   int conn_id_new[MAX_NUM_CONNECTIONS];
      |       ^~~~~~~~~~~
../../../src/server/sernet.c:1472:23: error: array subscript 320 is above array bounds of 'float[320]' [-Werror=array-bounds=]
 1472 |     packet.ping_time_6[i] = pconn->ping_time;
      |     ~~~~~~~~~~~~~~~~~~^~~
../../../src/common/packets_gen.h:820:9: note: while referencing 'ping_time_6'
  820 |   float ping_time_6[MAX_NUM_CONNECTIONS];
      |         ^~~~~~~~~~~
cc1: all warnings being treated as errors

We do have an assert checking that there should never be more than MAX_NUM_CONNECTIONS rounds in the iteration, but that doesn't count as "protection" against the case the way the compiler would want.

チケットの履歴 (4 件中 3 件表示)

2023-06-15 19:16 更新者: cazfi
  • 新しいチケット "gcc-14: connection list size array subscript warning" が作成されました
2023-06-16 03:17 更新者: cazfi
  • 担当者(未割り当て) から cazfi に更新されました
  • 解決法なし から 受領 に更新されました
コメント

Seen only in S3_0 (presumably it's the optional capability stuff there causing heuristic to end to different conclusion than in other branches), so patch attached just for that branch.

2023-06-18 14:27 更新者: cazfi
  • 状況オープン から 完了 に更新されました
  • 解決法受領 から 修正済み に更新されました

編集

このチケットにコメントを追加するには、ログインが必要です » ログインする