已合并
修复ScreenSessionManager::Dump中并发访问导致迭代器越界的问题 #20038
修复ScreenSessionManager::Dump中并发访问导致迭代器越界的问题 #20038
已合并
peixu创建于 28 天前
peixu
peixu
28 天前

Description: 修复ScreenSessionManager::Dump中并发访问导致迭代器越界的问题

Issue number: 15512

Test & Result: pass

CodeCheck: pass

类型自检项自检结果
多线程相关在类的成员变量中定义了vector/map/list等容器类型,且在多个成员函数中有操作时,需要加锁保护自检结果:pass
定义全局变量,在多个函数中都有操作时,需要加锁保护自检结果:pass
内存相关调用外部接口时,确认是否对返回值做了判断,尤其外部接口返回了nullptr的情况,避免进程崩溃自检结果:pass
调用安全函数时,如memcpy_s等,是否检查其返回值自检结果:pass
检查函数中是否涉及了内存或资源申请(如文件句柄),注意每个异常退出流程,是否都已经将资源释放(推荐使用RAII)自检结果:pass
隐式内存分配场景:realpath、ReadParcelable序列化、cJSON相关函数时等,需主动释放或使用智能指针自检结果:pass
校验外部输入使用nlohmann:json解析外部输入时,需判断参数类型是否符合预期自检结果:pass
所有外部输入均不可信,需判断外部输入是否直接作为内存分配的大小,数组下标、循环条件、SQL查询等自检结果:pass
外部输入的路径不可信,需使用realpath做标准化处理,并判断路径的合法性自检结果:pass
外部输入包括对外提供的接口,IPC的proxy/stub接口,序列化/反序列化接口等自检结果:pass
数学运算代码中是否混合了加减乘除等运算,需检查是否可能导致整数溢出或符号翻转自检结果:pass
需检查代码是否有高精度数字转换为低精度的操作,如果必须,建议使用C++安全类型转换接口自检结果:pass
检查代码在计算时是否有除零操作(包括除数是计算出来的结果可能为0的情况)自检结果:pass
权限相关作为系统服务对外提供了接口,是否做了权限保护和校验(如需要),只允许申请了权限的应用访问自检结果:pass
提供给其他系统服务的接口默认需要做SA服务校验自检结果:pass
跨进程通信优先使用异步IPC,若必须使用同步IPC需要考虑对端卡死或高延时影响自检结果:pass
序列化/反序列化中数据读写顺序要严格对齐自检结果:pass
likedislike
Pull Request已成功合入, 合并人@openharmony_ci
(感谢 peixu 的贡献)
peixupeixu
28 天前 关联了issue:[Bug]: 修复ScreenSessionManager::Dump中并发访问导致迭代器越界的问题
openharmony_ciopenharmony_ci成员
28 天前 添加了label:waiting_on_author
openharmony_ci
openharmony_ci成员
28 天前 评论:

感谢提交 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
openharmony_ciopenharmony_ci成员
28 天前 添加了label:dco检查成功
peixu
peixu
27 天前 评论:

start build

likedislike
openharmony_ci
openharmony_ci成员
27 天前 评论:

首次触发
门禁构建开始,包含静态检查、代码编译和测试【dayu600_7885编译, dayu200测试, dayu200编译, x86_64_virt编译, ohos-sdk编译, dayu600_7885测试, mac-sdk编译, master_inner_build编译, dayu200_tdd编译, ohos-host_mini_tdd编译】,预计在60分钟内完成,门禁结果会同步发送到注册邮箱。您可以通过如下链接跟踪门禁进展:http://dcp.openharmony.cn/workbench/cicd/detail/6a83bd8b64650f998bf5a2e7/runlist

likedislike
wulong158
wulong15827 天前进行代码检视1
utils/include/event_tracker.h
@@ -109,2 +108,3 @@
108+ std::vector<TrackInfo> result = recordInfos_;
109109 for (auto info : recordBoundsInfos_) {
110- allRecordInfos_.emplace_back(info);
110+ result.emplace_back(info);
wulong158
wulong15827 天前评论:

可以使用迭代器直接初始化vector,代码更简洁且效率更高,如: std::vector my_vector(my_list.begin(), my_list.end());

likedislike
openharmony_ciopenharmony_ci成员
27 天前 添加了label:编译成功
openharmony_ciopenharmony_ci成员
27 天前 添加了label:静态检查成功
openharmony_ciopenharmony_ci成员
27 天前 添加了label:冒烟测试成功
openharmony_ciopenharmony_ci成员
27 天前 通过测试
openharmony_ci
openharmony_ci成员
27 天前 评论:

代码门禁通过
您可以通过如下链接查看门禁报告:http://dcp.openharmony.cn/workbench/cicd/detail/6a83bd8b64650f998bf5a2e7/runlist

静态检查:

# check type result report
1 codeCheck pass >>>

编译测试:
# Device build result test result package
1 ohos-sdk success NA >>>
2 dayu200 success success >>>
3 dayu200_tdd success NA >>>
4 master_inner_build success(IGNORE) NA >>>
5 mac-sdk success NA >>>
6 ohos-host_mini_tdd success NA >>>
7 dayu600_7885 success success >>>
8 x86_64_virt success NA >>>

likedislike
openharmony_ciopenharmony_ci成员
27 天前 删除了label:waiting_on_author
openharmony_ciopenharmony_ci成员
27 天前 添加了label:waiting_for_review
openharmony_ci
openharmony_ci成员
27 天前 评论:

您好,Committer @nyankomiya @logn @chyyy0213 @hejunfei1991 @stupidb @lollipopolive @JUGaaab ,请分配检视人员检视该PR,可以通过命令"assign [@someone_id]"分配检视人员,也可以直接评论"assign"分配给自己进行检视。


Hello, Committer @nyankomiya @logn @chyyy0213 @hejunfei1991 @stupidb @lollipopolive @JUGaaab . Please assign someone to review the PR. You can assign a reviewer by using the command "assign [@someone_id]", or you can comment "assign" to review the PR by yourself.

likedislike
Zzhaoliang成员
27 天前 通过审查
openharmony_ciopenharmony_ci成员
27 天前 关闭了关联的issue
openharmony_ciopenharmony_ci成员
27 天前 合入了pull request,合并节点 SHA:c06857604e66cb1a15cf649e143cd61ccbb140c6
peixu
peixu
27 天前 评论:

submit

likedislike
openharmony_ciopenharmony_ci成员
27 天前 删除了label:waiting_for_review
openharmony_ciopenharmony_ci成员
27 天前 添加了label:merged