已合并
pc告警修改 #20296
pc告警修改 #20296
已合并
zhangyuhang72创建于 11 天前
zhangyuhang72
zhangyuhang72
11 天前

https://gitcode.com/openharmony/ability_ability_runtime/issues/16061

代码检视报告 — commit 0358babd "pc告警修改"(Round 3 / 最新提交)

统一报告由 codecheck 工作台生成,用于门禁管控。Round 3 在 Round 2 修复 3 项发现后重检。


报告元数据

codecheck_report:
  schema_version: "1.0"
  scope: "commit-0358babd"
  round: 3
  commit_id: "0358babd259cba46ca71418fd870edffd2730262"
  change_id: "Ibe1d2c17709d8e86f3a4e422935674ce9c28248c"
  report_id: "Ibe1d2c17709d8e86f3a4e422935674ce9c28248c-R3"
  date: "2026-08-25"
  gate_decision: "approve"
  risk_level: "low"
  score: 95
  dimensions_required: ["api-scanner", "security-scanner", "logic-scanner"]
  dimensions_executed: ["api-scanner", "security-scanner", "logic-scanner"]
  findings_total: 1
  findings_by_severity: {P0: 0, P1: 0, P2: 1, P3: 0}
  gate_blockers: []
  must_fix: []
  followups: ["API-04/SEC-01b"]

1. 门禁结论

项目 结论
决策 approve
风险等级 :large_green_circle: low
评分 95/100(R1: 73 → R2: 83 → R3: 95)
阻塞项
必须修复(P0/P1) 0 项
建议跟进(P2/P3) 1 项

一句话结论:Round 2 的 4 项发现中 3 项已修复(4 函数遗漏判空、ANI 侧 bundleName 不一致、callback 判空但无 env 判空);仅剩 API-04/SEC-01b(AsyncCallback 工具层判空移除致跨文件缺口)为用户有意保留的已知项,评分 95。


3. 必须立即处理(P0/P1)

无。


4. 建议跟进(P2/P3)

ID 优先级 问题 建议行动 排期
API-04/SEC-01b P2 AsyncCallback 无工具层 call 判空,23 个 ANI 文件 200+ 调用点无入口判空 用户有意保留。如需消除:恢复 AsyncCallback 两个重载的 call == nullptr 判空(一行改动覆盖全部 200+ 调用点) 跟踪

5. 分维度速览

维度 结果 关键说明
security-scanner 通过 Round 2 的 SEC-01a(4 函数遗漏判空)已修复(callback 判空 27→31);SEC-01b(跨文件缺口)为用户保留项
logic-scanner 通过 LOG-R2-01(4 函数 callback 判空但无 env 判空)已修复——4 函数均补 env 判空
api-scanner 通过 API-01(4 函数遗漏)已修复;API-05(ANI 侧 bundleName.empty() 不一致)已修复(7→10);API-04 为用户保留项

6. 关键发现详情

[API-04/SEC-01b] AsyncCallback 无工具层 call 判空,200+ 调用点无入口判空 (P2, scanner=security+api)

  • 位置frameworks/ets/ani/ani_common/src/ani_common_util.cpp:572, 606(两个重载均无 call 判空)+ 23 个 ANI 文件
  • 触发路径:23 个 ANI 文件(如 ets_agent_manager.cpp、ets_ability_context.cpp、ets_ability_manager.cpp 等)的 200+ AsyncCallback 调用点均未在上游判空 callback → 若任一收到 nullptr callback → 崩溃
  • 影响:大面积 null-callback 暴露面。ANI 运行时正常不产生 nullptr ani_object,触发概率低,但 200+ 调用点使聚合风险不可忽视。ets_app_manager.cpp 已通过 31 个入口判空覆盖(fail-fast),其余 23 个文件无入口判空
  • 证据:ani_common_util.cpp 两个 AsyncCallback 重载(:572, :606)仅检 env 不检 call;23 个 ANI 文件 200+ 调用点均无 callback == nullptr 入口判空
  • 建议:恢复 AsyncCallback 工具层 call == nullptr 判空(两个重载均加),以最小改动覆盖全部 200+ 调用点。ets_app_manager.cpp 的 31 个入口判空可保留(fail-fast),两者并存不冲突
  • 当前状态用户有意保留——基于"入口判空覆盖本文件、ANI 运行时不产生 nullptr"的判断。此为已知风险项,非阻塞

附:Round 2 → Round 3 修复验证

Round 2 ID 等级 修复内容 验证
API-01/SEC-01a P2 4 函数补 callback 判空(GetRunningProcessInfoByBundleNameAndUserId、GetRunningProcessInformationByBundleType、NativeIsSharedBundleRunning、NativeSetKeepAliveForBundle) callback null ptr 计数 27→31 ✓
API-05 P2 3 函数补 bundleName.empty()(KillProcessesByBundleNameInner、KillProcessWithAccountInner、IsApplicationRunning) bundleName.empty() 计数 7→10 ✓
LOG-R2-01 P3 4 函数补 env 判空(GetRunningProcessInfoByBundleName、OnOffInner、NativeKillProcessesByBundleName、NativeKillProcessWithAccount) 4 函数均有 env==nullptr + callback==nullptr
likedislike
Pull Request已成功合入, 合并人@openharmony_ci
(感谢 zhangyuhang72 的贡献)
zhangyuhang72zhangyuhang72
11 天前 关联了issue:[Bug]: PC告警修改
afwk_helper成员
11 天前 评论:

开始进行AI检视!

AI review has been started, please wait...

likedislike
afwk_helper成员
11 天前 评论:
check type result report
start ai_review pass -
likedislike
openharmony_ciopenharmony_ci成员
11 天前 添加了label:waiting_on_author
openharmony_ci
openharmony_ci成员
11 天前 评论:

感谢提交 Pull Requests!如果您提交的PR已经开发完毕,请评论 "start build" 触发门禁,更多交互操作,请访问OpenHarmony社区支持命令清单。如果需要调整订阅PR、Issue的变更状态,请访问订阅链接


Thanks for submitting the pull request. If your Pull Request has already been developed, you can leave a "start build" comment to trigger the gated system. For more commands, please visit OpenHarmony Command List. If you need to change the subscription of a Pull Request or Issue, please visit the link.

likedislike
此处折叠了65条消息 查看更多
afwk_helper成员
10 天前 评论:

自定义PR管控检查报告 / Custom PR Control Check Report

检查项 检查结果 处理建议
TDD检查 ⚠ 强制通过 -
检视意见 ✓ 通过 -
AI代码检视 ✓ 通过 -
likedislike
openharmony_ciopenharmony_ci成员
10 天前 关闭了关联的issue
openharmony_ciopenharmony_ci成员
10 天前 合入了pull request,合并节点 SHA:96a979bb5022e4ef8a98c6839991ef127d9d81c5
openharmony_ciopenharmony_ci成员
10 天前 删除了label:waiting_for_review
openharmony_ciopenharmony_ci成员
10 天前 添加了label:merged