任务单 #48379

sdl2: real_units_report_dialog_update() pbuf NULL dereference

开放日期: 2023-07-10 12:59 最后更新: 2023-07-16 17:35

报告人:
属主:
类型:
状态:
关闭
组件:
里程碑:
优先:
5 - Medium
严重性:
5 - Medium
处理结果:
Fixed
文件:
2

Details

S3_1, clang analyzer:

../../../../src/client/gui-sdl2/repodlgs.c:946:25: warning: Access to field 'id' results in a dereference of a null pointer (loaded from variable 'pbuf') [core.NullDereference]
          if ((MAX_ID - pbuf->id) == utype_number(i)) {
                        ^~~~~~~~

Seems actual bug to me. pbuf gets assigned from pwidget which has been assigned (initially) from units_dlg->end_active_widget_list, that might has no value assigned at all since fc_calloc() set it NULL. That can happen when the player has no units at all.

任务单历史 (3/5 Histories)

2023-07-10 12:59 Updated by: cazfi
  • New Ticket "sdl2: real_units_report_dialog_update() pbuf NULL dereference" created
2023-07-10 13:18 Updated by: cazfi
  • 属主 Update from (无) to cazfi
  • 处理结果 Update from to Accepted
评论

Patches for all branches, including S2_6, attached.

2023-07-16 17:35 Updated by: cazfi
  • 状态 Update from 开启 to 关闭
  • 处理结果 Update from Accepted to Fixed

编辑

You are not logged in. I you are not logged in, your comment will be treated as an anonymous post. » 登录名