チケット #47751

S3_1 load_ruleset_veteran() clang analyzer warning

登録: 2023-04-03 12:42 最終更新: 2023-04-05 17:51

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

詳細

S3_1:

---

../../../src/server/ruleset.c:2010:26: warning: Array access (from variable 'vlist_raise') results in a null pointer dereference [core.NullDereference]
(vlist_raise[i] < 0), vlist_raise[i] = 0);
../../../src/server/ruleset.c:1998:7: note: expanded from macro 'rs_sanity_veteran'
if (_condition) {

---

That it warns only about vlist_raise, and not about the other arrays hints that the problem is with the compat handling in S3_1 (update from 3.0 to 3.1). I don't see real bug there, as 'count_raise' will be set to zero by secfile_lookup_int_vec() when ever it returns NULL. Compiler just doesn't know it, but seeing that check against NULL only in compat mode makes it think that NULL might live on in non-compat mode.

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

2023-04-03 12:42 更新者: cazfi
  • 新しいチケット "S3_1 load_ruleset_veteran() clang analyzer warning" が作成されました
2023-04-03 13:22 更新者: cazfi
  • 担当者(未割り当て) から cazfi に更新されました
  • 解決法なし から 受領 に更新されました
コメント

But those lines had another bug - namely that compatibility mode check was not strict enough.

Patch for S3_1 attached.

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

編集

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