mirror of
https://github.com/openharmony/ability_ability_runtime.git
synced 2026-08-24 22:21:36 -04:00
bed5560260d733698da170a4b40f6a0f44092252
25687 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
56a7eabdfe |
!19670 merge fix into master
fix mem leak of obs manager Created-by: zqz979 Commit-by: zqz979 Merged-by: openharmony_ci Description: **IssueNo**: **Description**: **稳定性自检:** | 自检项 | 自检结果 | | ------------------------------------------------------------ | -------- | | 涉及跨进程调用的相关操作需要抛至主线程或加锁防止并发 | | | 成员变量进行赋值或创建需要排查并发 | | | 谨慎在lambda表达式中使用引用捕获 | | | 谨慎在未经拷贝的情况下使用外部传入的string、C字符串 | | | map\vector\list\set等stl模板类使用时需要排查并发 | | | 谨慎考虑加锁范围 | | | 在IPC通信中谨慎使用同步通信方式 | | | 禁止传递this指针至其他模块或线程(特别是eventhandler任务) | | | 禁止将外部传入的裸指针在内部直接构造智能指针 | | | 禁止多个独立创建的智能指针管理同一地址 | | | 禁止在析构函数中抛异步任务 | | | 禁止js对象在非js线程(例如在IPC线程)创建、使用或销毁 | | | 禁止在对外接口中未经判空直接使用外部传入的指针 | | | 禁止接口返回局部变量引用 | | | 禁止在信号函数中加锁 | | | 禁止在关键流程(SA启动、应用启动等主流程)执行耗时的操作 | | | 禁止将同一个cpp编译在不同的so中 | | **安全编码自检:** | 自检项 | 自检结果 | | -------------------------------------------------------------- | -------- | | 裸指针避免通过隐式转换构造为sptr | | | json对象在取值之前必须先判断类型,避免类型不匹配 | | | 序列化时必须对传入的数组大小进行校验,避免出现超大数组 | | | 避免使用未明确位宽的整型,选择使用int8_t、uint8_t等类型 | | | 外部传入的路径要做规范化校验,对路径中的.、..、../等特殊字符严格校验 | | | 指针变量、表示资源描述符的变量、bool变量必须赋初值 | | | readParcelable获取的对象使用前需要判空 | | | 分配和释放内存的函数需要成对出现 | | | 申请内存后异常退出前需要及时进行内存释放 | | | 内存申请前必须对内存大小进行合法性校验 | | | 内存分配后必须判断是否成功 | | | 禁止使用realloc、alloca函数 | | | 禁止打印文件路径、口令等敏感信息,如有需要,使用private修饰 | | | 禁止打印内存地址 | | | 整数之间运算时必须严格检查,确保不会出现溢出、反转、除0 | | | 禁止对有符号整数进行位操作符运算 | | | 禁止对指针进行逻辑或位运算 | | | 循环次数如果收外部数据控制,需要检验其合法性 | | | 禁止使用内存操作类危险函数,需要使用安全函数 | | | 谨慎使用不可重入函数 | | | 必须检查安全函数的返回值,并进行正确处理 | | | 禁止仅通过TokenType类型判断绕过权限校验 | | **TDD Result**:  **XTS Result**: ### 是否已执行L0用例 - [x] 已验证 - [ ] 不涉及。如不涉及,请写明理由 See merge request: openharmony/ability_ability_runtime!19670 |
||
|
|
2bbd3b7bf7 |
!19664 merge master into master
add sendToData Created-by: SoftSquirrel Commit-by: SoftSquirrel Merged-by: openharmony_ci Description: **IssueNo**: https://gitcode.com/openharmony/interface_sdk-js/issues/24938 **Description**:add sendToData **稳定性自检:** | 自检项 | 自检结果 | | ------------------------------------------------------------ | -------- | | 涉及跨进程调用的相关操作需要抛至主线程或加锁防止并发 | OK | | 成员变量进行赋值或创建需要排查并发 | OK | | 谨慎在lambda表达式中使用引用捕获 | OK | | 谨慎在未经拷贝的情况下使用外部传入的string、C字符串 | OK | | map\vector\list\set等stl模板类使用时需要排查并发 | OK | | 谨慎考虑加锁范围 | OK | | 在IPC通信中谨慎使用同步通信方式 | OK | | 禁止传递this指针至其他模块或线程(特别是eventhandler任务) | OK | | 禁止将外部传入的裸指针在内部直接构造智能指针 | OK | | 禁止多个独立创建的智能指针管理同一地址 | OK | | 禁止在析构函数中抛异步任务 | OK | | 禁止js对象在非js线程(例如在IPC线程)创建、使用或销毁 | OK | | 禁止在对外接口中未经判空直接使用外部传入的指针 | OK | | 禁止接口返回局部变量引用 | OK | | 禁止在信号函数中加锁 | OK | | 禁止在关键流程(SA启动、应用启动等主流程)执行耗时的操作 | OK | | 禁止将同一个cpp编译在不同的so中 | OK | **安全编码自检:** | 自检项 | 自检结果 | | -------------------------------------------------------------- | -------- | | 裸指针避免通过隐式转换构造为sptr | OK | | json对象在取值之前必须先判断类型,避免类型不匹配 | OK | | 序列化时必须对传入的数组大小进行校验,避免出现超大数组 | OK | | 避免使用未明确位宽的整型,选择使用int8_t、uint8_t等类型 | OK | | 外部传入的路径要做规范化校验,对路径中的.、..、../等特殊字符严格校验 | OK | | 指针变量、表示资源描述符的变量、bool变量必须赋初值 | OK | | readParcelable获取的对象使用前需要判空 | OK | | 分配和释放内存的函数需要成对出现 | OK | | 申请内存后异常退出前需要及时进行内存释放 | OK | | 内存申请前必须对内存大小进行合法性校验 | OK | | 内存分配后必须判断是否成功 | OK | | 禁止使用realloc、alloca函数 | OK | | 禁止打印文件路径、口令等敏感信息,如有需要,使用private修饰 | OK | | 禁止打印内存地址 | OK | | 整数之间运算时必须严格检查,确保不会出现溢出、反转、除0 | OK | | 禁止对有符号整数进行位操作符运算 | OK | | 禁止对指针进行逻辑或位运算 | OK | | 循环次数如果收外部数据控制,需要检验其合法性 | OK | | 禁止使用内存操作类危险函数,需要使用安全函数 | OK | | 谨慎使用不可重入函数 | OK | | 必须检查安全函数的返回值,并进行正确处理 | OK | | 禁止仅通过TokenType类型判断绕过权限校验 | OK | **TDD Result**: **XTS Result**: ### 是否已执行L0用例 - [x] 已验证 - [ ] 不涉及。如不涉及,请写明理由 See merge request: openharmony/ability_ability_runtime!19664 |
||
|
|
d76ec9772b |
!19593 merge feat/nativemodule-load-errinfo into master
feat: 补全NativeModule加载失败的errInfo传递 Created-by: zhang_hao_zheng Commit-by: zhang_hao_zheng Merged-by: openharmony_ci Description: **IssueNo**: https://gitcode.com/openharmony/ability_ability_runtime/issues/15447 **Description**: **稳定性自检:** | 自检项 | 自检结果 | | ------------------------------------------------------------ | -------- | | 涉及跨进程调用的相关操作需要抛至主线程或加锁防止并发 | √ | | 成员变量进行赋值或创建需要排查并发 | √ | | 谨慎在lambda表达式中使用引用捕获 | √ | | 谨慎在未经拷贝的情况下使用外部传入的string、C字符串 | √ | | map\vector\list\set等stl模板类使用时需要排查并发 | √ | | 谨慎考虑加锁范围 | √ | | 在IPC通信中谨慎使用同步通信方式 | √ | | 禁止传递this指针至其他模块或线程(特别是eventhandler任务) | √ | | 禁止将外部传入的裸指针在内部直接构造智能指针 | √ | | 禁止多个独立创建的智能指针管理同一地址 | √ | | 禁止在析构函数中抛异步任务 | √ | | 禁止js对象在非js线程(例如在IPC线程)创建、使用或销毁 | √ | | 禁止在对外接口中未经判空直接使用外部传入的指针 | √ | | 禁止接口返回局部变量引用 | √ | | 禁止在信号函数中加锁 | √ | | 禁止在关键流程(SA启动、应用启动等主流程)执行耗时的操作 | √ | | 禁止将同一个cpp编译在不同的so中 | √ | **安全编码自检:** | 自检项 | 自检结果 | | -------------------------------------------------------------- | -------- | | 裸指针避免通过隐式转换构造为sptr | √ | | json对象在取值之前必须先判断类型,避免类型不匹配 | √ | | 序列化时必须对传入的数组大小进行校验,避免出现超大数组 | √ | | 避免使用未明确位宽的整型,选择使用int8_t、uint8_t等类型 | √ | | 外部传入的路径要做规范化校验,对路径中的.、..、../等特殊字符严格校验 | √ | | 指针变量、表示资源描述符的变量、bool变量必须赋初值 | √ | | readParcelable获取的对象使用前需要判空 | √ | | 分配和释放内存的函数需要成对出现 | √ | | 申请内存后异常退出前需要及时进行内存释放 | √ | | 内存申请前必须对内存大小进行合法性校验 | √ | | 内存分配后必须判断是否成功 | √ | | 禁止使用realloc、alloca函数 | √ | | 禁止打印文件路径、口令等敏感信息,如有需要,使用private修饰 | √ | | 禁止打印内存地址 | √ | | 整数之间运算时必须严格检查,确保不会出现溢出、反转、除0 | √ | | 禁止对有符号整数进行位操作符运算 | √ | | 禁止对指针进行逻辑或位运算 | √ | | 循环次数如果收外部数据控制,需要检验其合法性 | √ | | 禁止使用内存操作类危险函数,需要使用安全函数 | √ | | 谨慎使用不可重入函数 | √ | | 必须检查安全函数的返回值,并进行正确处理 | √ | | 禁止仅通过TokenType类型判断绕过权限校验 | √ | **TDD Result**: pass **XTS Result**: pass ### 是否已执行L0用例 - [√] 已验证 - [ ] 不涉及。如不涉及,请写明理由 See merge request: openharmony/ability_ability_runtime!19593 |
||
|
|
827621754a |
!19667 merge fix/skill_perm_skip into master
fix(skill): skip permission check when caller holds START_INVISIBLE_ABILITY Created-by: RuiChen_01 Commit-by: RuiChen_01 Merged-by: openharmony_ci Description: **IssueNo**: **Description**: **稳定性自检:** | 自检项 | 自检结果 | | ------------------------------------------------------------ | -------- | | 涉及跨进程调用的相关操作需要抛至主线程或加锁防止并发 | | | 成员变量进行赋值或创建需要排查并发 | | | 谨慎在lambda表达式中使用引用捕获 | | | 谨慎在未经拷贝的情况下使用外部传入的string、C字符串 | | | map\vector\list\set等stl模板类使用时需要排查并发 | | | 谨慎考虑加锁范围 | | | 在IPC通信中谨慎使用同步通信方式 | | | 禁止传递this指针至其他模块或线程(特别是eventhandler任务) | | | 禁止将外部传入的裸指针在内部直接构造智能指针 | | | 禁止多个独立创建的智能指针管理同一地址 | | | 禁止在析构函数中抛异步任务 | | | 禁止js对象在非js线程(例如在IPC线程)创建、使用或销毁 | | | 禁止在对外接口中未经判空直接使用外部传入的指针 | | | 禁止接口返回局部变量引用 | | | 禁止在信号函数中加锁 | | | 禁止在关键流程(SA启动、应用启动等主流程)执行耗时的操作 | | | 禁止将同一个cpp编译在不同的so中 | | **安全编码自检:** | 自检项 | 自检结果 | | -------------------------------------------------------------- | -------- | | 裸指针避免通过隐式转换构造为sptr | | | json对象在取值之前必须先判断类型,避免类型不匹配 | | | 序列化时必须对传入的数组大小进行校验,避免出现超大数组 | | | 避免使用未明确位宽的整型,选择使用int8_t、uint8_t等类型 | | | 外部传入的路径要做规范化校验,对路径中的.、..、../等特殊字符严格校验 | | | 指针变量、表示资源描述符的变量、bool变量必须赋初值 | | | readParcelable获取的对象使用前需要判空 | | | 分配和释放内存的函数需要成对出现 | | | 申请内存后异常退出前需要及时进行内存释放 | | | 内存申请前必须对内存大小进行合法性校验 | | | 内存分配后必须判断是否成功 | | | 禁止使用realloc、alloca函数 | | | 禁止打印文件路径、口令等敏感信息,如有需要,使用private修饰 | | | 禁止打印内存地址 | | | 整数之间运算时必须严格检查,确保不会出现溢出、反转、除0 | | | 禁止对有符号整数进行位操作符运算 | | | 禁止对指针进行逻辑或位运算 | | | 循环次数如果收外部数据控制,需要检验其合法性 | | | 禁止使用内存操作类危险函数,需要使用安全函数 | | | 谨慎使用不可重入函数 | | | 必须检查安全函数的返回值,并进行正确处理 | | | 禁止仅通过TokenType类型判断绕过权限校验 | | **TDD Result**: **XTS Result**: ### 是否已执行L0用例 - [ ] 已验证 - [ ] 不涉及。如不涉及,请写明理由 See merge request: openharmony/ability_ability_runtime!19667 |
||
|
|
a75ab3f874 |
!19657 merge bugfix/free-install-agent into master
bugfix: free-install agent permissions Created-by: yangxuguang-huawei Commit-by: yangxuguang-huawei Merged-by: openharmony_ci Description: **IssueNo**: https://gitcode.com/openharmony/ability_ability_runtime/issues/15504 **Description**: **稳定性自检:** | 自检项 | 自检结果 | | ------------------------------------------------------------ | -------- | | 涉及跨进程调用的相关操作需要抛至主线程或加锁防止并发 | ok | | 成员变量进行赋值或创建需要排查并发 | ok| | 谨慎在lambda表达式中使用引用捕获 | ok| | 谨慎在未经拷贝的情况下使用外部传入的string、C字符串 | ok| | map\vector\list\set等stl模板类使用时需要排查并发 | ok| | 谨慎考虑加锁范围 | ok| | 在IPC通信中谨慎使用同步通信方式 | ok| | 禁止传递this指针至其他模块或线程(特别是eventhandler任务) | ok| | 禁止将外部传入的裸指针在内部直接构造智能指针 | ok| | 禁止多个独立创建的智能指针管理同一地址 | ok| | 禁止在析构函数中抛异步任务 | ok| | 禁止js对象在非js线程(例如在IPC线程)创建、使用或销毁 | ok| | 禁止在对外接口中未经判空直接使用外部传入的指针 | ok| | 禁止接口返回局部变量引用 | ok| | 禁止在信号函数中加锁 | ok| | 禁止在关键流程(SA启动、应用启动等主流程)执行耗时的操作 | ok| | 禁止将同一个cpp编译在不同的so中 | ok| **安全编码自检:** | 自检项 | 自检结果 | | -------------------------------------------------------------- | -------- | | 裸指针避免通过隐式转换构造为sptr | ok| | json对象在取值之前必须先判断类型,避免类型不匹配 | ok| | 序列化时必须对传入的数组大小进行校验,避免出现超大数组 | ok | | 避免使用未明确位宽的整型,选择使用int8_t、uint8_t等类型 | ok| | 外部传入的路径要做规范化校验,对路径中的.、..、../等特殊字符严格校验 | ok | | 指针变量、表示资源描述符的变量、bool变量必须赋初值 | ok| | readParcelable获取的对象使用前需要判空 | ok| | 分配和释放内存的函数需要成对出现 | ok| | 申请内存后异常退出前需要及时进行内存释放 | ok | | 内存申请前必须对内存大小进行合法性校验 | ok| | 内存分配后必须判断是否成功 | ok| | 禁止使用realloc、alloca函数 | ok| | 禁止打印文件路径、口令等敏感信息,如有需要,使用private修饰 | ok| | 禁止打印内存地址 | ok| | 整数之间运算时必须严格检查,确保不会出现溢出、反转、除0 | ok| | 禁止对有符号整数进行位操作符运算 | ok| | 禁止对指针进行逻辑或位运算 | ok| | 循环次数如果收外部数据控制,需要检验其合法性 | ok| | 禁止使用内存操作类危险函数,需要使用安全函数 | ok| | 谨慎使用不可重入函数 | ok| | 必须检查安全函数的返回值,并进行正确处理 | ok| | 禁止仅通过TokenType类型判断绕过权限校验 | ok| **TDD Result**: 已验证OK **XTS Result**: 已验证OK ### 是否已执行L0用例 - [x] 已验证 - [ ] 不涉及。如不涉及,请写明理由 See merge request: openharmony/ability_ability_runtime!19657 |
||
|
|
33fdab821a |
fix edm
Signed-off-by: xuzheheng <xuzheheng2@h-partners.com> 🤖 AI[0%] 👌 AI Adopted[0%] 🧑 Human[100%] Change-Id: Iee3549eb9108037f5e5be7443d851c41af32118c |
||
|
|
911203bb86 |
fix
Signed-off-by: zqz979 <zhouqingze@h-partners.com> |
||
|
|
2f6639c8fc |
add startAbilityByCall fail event
Co-Authored-By: Agent Signed-off-by: wangzhen <wangzhen416@huawei.com> 🤖 AI[97%] 👌 AI Adopted[97%] 🧑 Human[3%] Co-authored-by: claude (glm-5.2) <ai@local> Change-Id: If93987309f0191cdfbd2bc5216ab1a6c1c8d4276 |
||
|
|
bf60f0455b |
!19666 merge master into master
Message:告警修复 Created-by: zhengdongdong12 Commit-by: zhengdongdong12 Merged-by: openharmony_ci Description: **IssueNo**: https://gitcode.com/openharmony/ability_ability_runtime/issues/15508 **Description**: 告警修复 **稳定性自检:** | 自检项 | 自检结果 | | ------------------------------------------------------------ | -------- | | 涉及跨进程调用的相关操作需要抛至主线程或加锁防止并发 | OK | | 成员变量进行赋值或创建需要排查并发 | OK | | 谨慎在lambda表达式中使用引用捕获 | OK | | 谨慎在未经拷贝的情况下使用外部传入的string、C字符串 | OK | | map\vector\list\set等stl模板类使用时需要排查并发 | OK | | 谨慎考虑加锁范围 | OK | | 在IPC通信中谨慎使用同步通信方式 | OK | | 禁止传递this指针至其他模块或线程(特别是eventhandler任务) | OK | | 禁止将外部传入的裸指针在内部直接构造智能指针 | OK | | 禁止多个独立创建的智能指针管理同一地址 | OK | | 禁止在析构函数中抛异步任务 | OK | | 禁止js对象在非js线程(例如在IPC线程)创建、使用或销毁 | OK | | 禁止在对外接口中未经判空直接使用外部传入的指针 | OK | | 禁止接口返回局部变量引用 | OK | | 禁止在信号函数中加锁 | OK | | 禁止在关键流程(SA启动、应用启动等主流程)执行耗时的操作 | OK | | 禁止将同一个cpp编译在不同的so中 | OK | **安全编码自检:** | 自检项 | 自检结果 | | -------------------------------------------------------------- | -------- | | 裸指针避免通过隐式转换构造为sptr | OK | | json对象在取值之前必须先判断类型,避免类型不匹配 | OK | | 序列化时必须对传入的数组大小进行校验,避免出现超大数组 | OK | | 避免使用未明确位宽的整型,选择使用int8_t、uint8_t等类型 | OK | | 外部传入的路径要做规范化校验,对路径中的.、..、../等特殊字符严格校验 | OK | | 指针变量、表示资源描述符的变量、bool变量必须赋初值 | OK | | readParcelable获取的对象使用前需要判空 | OK | | 分配和释放内存的函数需要成对出现 | OK | | 申请内存后异常退出前需要及时进行内存释放 | OK | | 内存申请前必须对内存大小进行合法性校验 | OK | | 内存分配后必须判断是否成功 | OK | | 禁止使用realloc、alloca函数 | OK | | 禁止打印文件路径、口令等敏感信息,如有需要,使用private修饰 | OK | | 禁止打印内存地址 | OK | | 整数之间运算时必须严格检查,确保不会出现溢出、反转、除0 | OK | | 禁止对有符号整数进行位操作符运算 | OK | | 禁止对指针进行逻辑或位运算 | OK | | 循环次数如果收外部数据控制,需要检验其合法性 | OK | | 禁止使用内存操作类危险函数,需要使用安全函数 | OK | | 谨慎使用不可重入函数 | OK | | 必须检查安全函数的返回值,并进行正确处理 | OK | | 禁止仅通过TokenType类型判断绕过权限校验 | OK | **TDD Result**: OK **XTS Result**: OK ### 是否已执行L0用例 - [ ] 已验证 - [ ] 不涉及。如不涉及,请写明理由 See merge request: openharmony/ability_ability_runtime!19666 |
||
|
|
683ca4c25a |
fix: sync mock LoadNativeModule signature with loadErrInfo
同步 frameworks_kits_appkit_native_test 的 LoadNativeModule mock 签名到 arkui_napi issue-15447 新增的 loadErrInfo 参数(含 relativePath 重命名),避免 tdd 编译时"LoadNativeModule does not match any declaration in NativeModuleManager" 报错。 Signed-off-by: zhang_hao_zheng <zhanghaozheng2@h-partners.com> Co-Authored-By: Agent Change-Id: I75ae1878b1aa4f08a188f9fc3f767189401e5148 |
||
|
|
ca687ccb8e |
fix terminating
Signed-off-by: xhz-sz <xiehuandong@huawei.com> |
||
|
|
402d739cb0 |
obs uri check
Signed-off-by: shu-xin0115 <shuxin15@h-partners.com> Co-Authored-By: Agent |
||
|
|
476e4c2620 |
优化appfreeze代码
Co-Authored-By: Agent Signed-off-by: acdemicJava <yinhuiling@h-partners.com> |
||
|
|
6911cd1c55 |
fix(skill): skip permission check when caller holds START_INVISIBLE_ABILITY
Mirror the package-startup visibility gate in SkillExecuteManager::CheckSkillPermission: if the caller already holds ohos.permission.START_INVISIBLE_ABILITY, skip the per-skill permission loop. This aligns skill execution with the existing ability-start policy and avoids denying a privileged caller that legitimately can start invisible abilities. The skip is placed after the SA-caller gate so non-SA callers are still rejected. Co-Authored-By: Agent Signed-off-by: RuiChen_01 <chenrui193@huawei.com> 🤖 AI[100%] 👌 AI Adopted[100%] 🧑 Human[0%] Co-authored-by: claude (glm-5.2) <ai@local> |
||
|
|
601339216d |
Message:告警修复
Signed-off-by: zhengdongdong12 <zhengchengkai@huawei.com> |
||
|
|
00aa918cb4 |
Issue:#24938
Description:add sendToData Sig: SIG_ApplicaitonFramework Feature or Bugfix:Bugfix Binary Source: No Signed-off-by: SoftSquirrel <1690027871@qq.com> |
||
|
|
382f8fe2e7 |
feat: support languageEnv for jsheap snapshot dump with UT coverage
Add languageEnv parameter (dynamic/static/hybrid) for JsHeap snapshot dump, enabling ETS runtime to also dump heap snapshots. Remove JS-only restriction on snapshot dump path. Add UT coverage for all branches. Co-Authored-By: Agent Signed-off-by: denganliang <denganliang3@h-partners.com> Change-Id: I9784465f1def0d74165d3d1804a36a9b489fe0e0 |
||
|
|
02aaf6b63b |
bugfix: free-install agent permissions
Co-Authored-By: Agent Signed-off-by: yangxuguang-huawei <yangxuguang3@huawei.com> Change-Id: I24c15803dc5464c1e70bf2aca6a711dcfc90a7ff |
||
|
|
e787774b6f |
fix terminating
Signed-off-by: xhz-sz <xiehuandong@huawei.com> |
||
|
|
02cfc9ac58 |
!19635 merge feature-0618 into master
优化appfreeze屏蔽 Created-by: acdemicJava Commit-by: acdemicJava Merged-by: openharmony_ci Description: **IssueNo**: https://gitcode.com/openharmony/ability_ability_runtime/issues/15490 **Description**: **稳定性自检:** | 自检项 | 自检结果 | | ------------------------------------------------------------ | -------- | | 涉及跨进程调用的相关操作需要抛至主线程或加锁防止并发 | | | 成员变量进行赋值或创建需要排查并发 | | | 谨慎在lambda表达式中使用引用捕获 | | | 谨慎在未经拷贝的情况下使用外部传入的string、C字符串 | | | map\vector\list\set等stl模板类使用时需要排查并发 | | | 谨慎考虑加锁范围 | | | 在IPC通信中谨慎使用同步通信方式 | | | 禁止传递this指针至其他模块或线程(特别是eventhandler任务) | | | 禁止将外部传入的裸指针在内部直接构造智能指针 | | | 禁止多个独立创建的智能指针管理同一地址 | | | 禁止在析构函数中抛异步任务 | | | 禁止js对象在非js线程(例如在IPC线程)创建、使用或销毁 | | | 禁止在对外接口中未经判空直接使用外部传入的指针 | | | 禁止接口返回局部变量引用 | | | 禁止在信号函数中加锁 | | | 禁止在关键流程(SA启动、应用启动等主流程)执行耗时的操作 | | | 禁止将同一个cpp编译在不同的so中 | | **安全编码自检:** | 自检项 | 自检结果 | | -------------------------------------------------------------- | -------- | | 裸指针避免通过隐式转换构造为sptr | | | json对象在取值之前必须先判断类型,避免类型不匹配 | | | 序列化时必须对传入的数组大小进行校验,避免出现超大数组 | | | 避免使用未明确位宽的整型,选择使用int8_t、uint8_t等类型 | | | 外部传入的路径要做规范化校验,对路径中的.、..、../等特殊字符严格校验 | | | 指针变量、表示资源描述符的变量、bool变量必须赋初值 | | | readParcelable获取的对象使用前需要判空 | | | 分配和释放内存的函数需要成对出现 | | | 申请内存后异常退出前需要及时进行内存释放 | | | 内存申请前必须对内存大小进行合法性校验 | | | 内存分配后必须判断是否成功 | | | 禁止使用realloc、alloca函数 | | | 禁止打印文件路径、口令等敏感信息,如有需要,使用private修饰 | | | 禁止打印内存地址 | | | 整数之间运算时必须严格检查,确保不会出现溢出、反转、除0 | | | 禁止对有符号整数进行位操作符运算 | | | 禁止对指针进行逻辑或位运算 | | | 循环次数如果收外部数据控制,需要检验其合法性 | | | 禁止使用内存操作类危险函数,需要使用安全函数 | | | 谨慎使用不可重入函数 | | | 必须检查安全函数的返回值,并进行正确处理 | | | 禁止仅通过TokenType类型判断绕过权限校验 | | **TDD Result**: **XTS Result**: ### 是否已执行L0用例 - [ ] 已验证 - [ ] 不涉及。如不涉及,请写明理由 See merge request: openharmony/ability_ability_runtime!19635 |
||
|
|
270703946c |
!19647 merge 0622_fix into master
0622_蓝黄一致性修改 Created-by: Luobniz21 Commit-by: Luobniz21 Merged-by: openharmony_ci Description: **IssueNo**: **Description**: **稳定性自检:** | 自检项 | 自检结果 | | ------------------------------------------------------------ | -------- | | 涉及跨进程调用的相关操作需要抛至主线程或加锁防止并发 | √ | | 成员变量进行赋值或创建需要排查并发 | √ | | 谨慎在lambda表达式中使用引用捕获 | √ | | 谨慎在未经拷贝的情况下使用外部传入的string、C字符串 | √ | | map\vector\list\set等stl模板类使用时需要排查并发 | √ | | 谨慎考虑加锁范围 | √ | | 在IPC通信中谨慎使用同步通信方式 | √ | | 禁止传递this指针至其他模块或线程(特别是eventhandler任务) | √ | | 禁止将外部传入的裸指针在内部直接构造智能指针 | √ | | 禁止多个独立创建的智能指针管理同一地址 | √ | | 禁止在析构函数中抛异步任务 | √ | | 禁止js对象在非js线程(例如在IPC线程)创建、使用或销毁 | √ | | 禁止在对外接口中未经判空直接使用外部传入的指针 | √ | | 禁止接口返回局部变量引用 | √ | | 禁止在信号函数中加锁 | √ | | 禁止在关键流程(SA启动、应用启动等主流程)执行耗时的操作 | √ | | 禁止将同一个cpp编译在不同的so中 | √ | **安全编码自检:** | 自检项 | 自检结果 | | -------------------------------------------------------------- | -------- | | 裸指针避免通过隐式转换构造为sptr | √ | | json对象在取值之前必须先判断类型,避免类型不匹配 | √ | | 序列化时必须对传入的数组大小进行校验,避免出现超大数组 | √ | | 避免使用未明确位宽的整型,选择使用int8_t、uint8_t等类型 | √ | | 外部传入的路径要做规范化校验,对路径中的.、..、../等特殊字符严格校验 | √ | | 指针变量、表示资源描述符的变量、bool变量必须赋初值 | √ | | readParcelable获取的对象使用前需要判空 | √ | | 分配和释放内存的函数需要成对出现 | √ | | 申请内存后异常退出前需要及时进行内存释放 | √ | | 内存申请前必须对内存大小进行合法性校验 | √ | | 内存分配后必须判断是否成功 | √ | | 禁止使用realloc、alloca函数 | √ | | 禁止打印文件路径、口令等敏感信息,如有需要,使用private修饰 | √ | | 禁止打印内存地址 | √ | | 整数之间运算时必须严格检查,确保不会出现溢出、反转、除0 | √ | | 禁止对有符号整数进行位操作符运算 | √ | | 禁止对指针进行逻辑或位运算 | √ | | 循环次数如果收外部数据控制,需要检验其合法性 | √ | | 禁止使用内存操作类危险函数,需要使用安全函数 | √ | | 谨慎使用不可重入函数 | √ | | 必须检查安全函数的返回值,并进行正确处理 | √ | | 禁止仅通过TokenType类型判断绕过权限校验 | √ | **TDD Result**: 不涉及 **XTS Result**: 不涉及 ### 是否已执行L0用例 - [x] 已验证 - [ ] 不涉及。如不涉及,请写明理由 See merge request: openharmony/ability_ability_runtime!19647 |
||
|
|
77429990bc |
fix(insight_intent): fix rdbStore_ data race in BackupRdb
InsightIntentRdbDataMgr::BackupRdb was the only public method that did not acquire rdbStoreMutex_ before writing the rdbStore_ shared_ptr member. Concurrent calls from other methods (InsertData / UpdateData / DeleteData* / QueryDataBeginWithKey) could race on the shared_ptr assignment, causing undefined behavior. Add the missing lock_guard. Co-Authored-By: Agent Signed-off-by: RuiChen_01 <chenrui193@huawei.com> |
||
|
|
2fcd76d7b6 |
!19634 merge master into master
修改GC时间区间判断 Created-by: acdemicJava Commit-by: acdemicJava Merged-by: openharmony_ci Description: **IssueNo**: https://gitcode.com/openharmony/ability_ability_runtime/issues/15489 **Description**: **稳定性自检:** | 自检项 | 自检结果 | | ------------------------------------------------------------ | -------- | | 涉及跨进程调用的相关操作需要抛至主线程或加锁防止并发 | | | 成员变量进行赋值或创建需要排查并发 | | | 谨慎在lambda表达式中使用引用捕获 | | | 谨慎在未经拷贝的情况下使用外部传入的string、C字符串 | | | map\vector\list\set等stl模板类使用时需要排查并发 | | | 谨慎考虑加锁范围 | | | 在IPC通信中谨慎使用同步通信方式 | | | 禁止传递this指针至其他模块或线程(特别是eventhandler任务) | | | 禁止将外部传入的裸指针在内部直接构造智能指针 | | | 禁止多个独立创建的智能指针管理同一地址 | | | 禁止在析构函数中抛异步任务 | | | 禁止js对象在非js线程(例如在IPC线程)创建、使用或销毁 | | | 禁止在对外接口中未经判空直接使用外部传入的指针 | | | 禁止接口返回局部变量引用 | | | 禁止在信号函数中加锁 | | | 禁止在关键流程(SA启动、应用启动等主流程)执行耗时的操作 | | | 禁止将同一个cpp编译在不同的so中 | | **安全编码自检:** | 自检项 | 自检结果 | | -------------------------------------------------------------- | -------- | | 裸指针避免通过隐式转换构造为sptr | | | json对象在取值之前必须先判断类型,避免类型不匹配 | | | 序列化时必须对传入的数组大小进行校验,避免出现超大数组 | | | 避免使用未明确位宽的整型,选择使用int8_t、uint8_t等类型 | | | 外部传入的路径要做规范化校验,对路径中的.、..、../等特殊字符严格校验 | | | 指针变量、表示资源描述符的变量、bool变量必须赋初值 | | | readParcelable获取的对象使用前需要判空 | | | 分配和释放内存的函数需要成对出现 | | | 申请内存后异常退出前需要及时进行内存释放 | | | 内存申请前必须对内存大小进行合法性校验 | | | 内存分配后必须判断是否成功 | | | 禁止使用realloc、alloca函数 | | | 禁止打印文件路径、口令等敏感信息,如有需要,使用private修饰 | | | 禁止打印内存地址 | | | 整数之间运算时必须严格检查,确保不会出现溢出、反转、除0 | | | 禁止对有符号整数进行位操作符运算 | | | 禁止对指针进行逻辑或位运算 | | | 循环次数如果收外部数据控制,需要检验其合法性 | | | 禁止使用内存操作类危险函数,需要使用安全函数 | | | 谨慎使用不可重入函数 | | | 必须检查安全函数的返回值,并进行正确处理 | | | 禁止仅通过TokenType类型判断绕过权限校验 | | **TDD Result**: **XTS Result**: ### 是否已执行L0用例 - [ ] 已验证 - [ ] 不涉及。如不涉及,请写明理由 See merge request: openharmony/ability_ability_runtime!19634 |
||
|
|
55fdf6d498 |
update: 更新文件 ability_manager_service.cpp
Signed-off-by: hhd227 <huanghaodong9@h-partners.com> |
||
|
|
a0a9dc73cf |
refactor: remove renderSession parameter passing
Simplify Window::Create and WindowScene::Init by removing renderSession parameter. RenderSession is now obtained through Session interface. Co-Authored-By: yuanwenjun Signed-off-by: weixin_38774524 <1903700887@qq.com> revert merge request: refactor: remove renderSession parameter passing |
||
|
|
3739a97673 |
优化appfreeze屏蔽
Co-Authored-By: Agent Signed-off-by: acdemicJava <yinhuiling@h-partners.com> |
||
|
|
8c9e927cf7 |
0622_fix
Signed-off-by: Luobniz21 <luoyicong@h-partners.com> # Please enter the commit message for your changes. Lines starting # with '#' will be kept; you may remove them yourself if you want to. # An empty message aborts the commit. # # Date: Mon Jun 22 09:07:22 2026 +0800 # # On branch 0622_fix # Your branch is up to date with 'origin/0622_fix'. # # Changes to be committed: # modified: services/abilitymgr/src/ability_manager_service.cpp # |
||
|
|
a07d589204 |
!19643 merge revert-mr-19132-1782010864950-auto into master
refactor: remove renderSession parameter passing Created-by: weixin_38774524 Commit-by: weixin_38774524 Merged-by: openharmony_ci Description: **IssueNo**: https://gitcode.com/openharmony/window_window_manager/issues/14889 **Description**: **稳定性自检:** | 自检项 | 自检结果 | | ------------------------------------------------------------ | -------- | | 涉及跨进程调用的相关操作需要抛至主线程或加锁防止并发 | | | 成员变量进行赋值或创建需要排查并发 | | | 谨慎在lambda表达式中使用引用捕获 | | | 谨慎在未经拷贝的情况下使用外部传入的string、C字符串 | | | map\vector\list\set等stl模板类使用时需要排查并发 | | | 谨慎考虑加锁范围 | | | 在IPC通信中谨慎使用同步通信方式 | | | 禁止传递this指针至其他模块或线程(特别是eventhandler任务) | | | 禁止将外部传入的裸指针在内部直接构造智能指针 | | | 禁止多个独立创建的智能指针管理同一地址 | | | 禁止在析构函数中抛异步任务 | | | 禁止js对象在非js线程(例如在IPC线程)创建、使用或销毁 | | | 禁止在对外接口中未经判空直接使用外部传入的指针 | | | 禁止接口返回局部变量引用 | | | 禁止在信号函数中加锁 | | | 禁止在关键流程(SA启动、应用启动等主流程)执行耗时的操作 | | | 禁止将同一个cpp编译在不同的so中 | | **安全编码自检:** | 自检项 | 自检结果 | | -------------------------------------------------------------- | -------- | | 裸指针避免通过隐式转换构造为sptr | | | json对象在取值之前必须先判断类型,避免类型不匹配 | | | 序列化时必须对传入的数组大小进行校验,避免出现超大数组 | | | 避免使用未明确位宽的整型,选择使用int8_t、uint8_t等类型 | | | 外部传入的路径要做规范化校验,对路径中的.、..、../等特殊字符严格校验 | | | 指针变量、表示资源描述符的变量、bool变量必须赋初值 | | | readParcelable获取的对象使用前需要判空 | | | 分配和释放内存的函数需要成对出现 | | | 申请内存后异常退出前需要及时进行内存释放 | | | 内存申请前必须对内存大小进行合法性校验 | | | 内存分配后必须判断是否成功 | | | 禁止使用realloc、alloca函数 | | | 禁止打印文件路径、口令等敏感信息,如有需要,使用private修饰 | | | 禁止打印内存地址 | | | 整数之间运算时必须严格检查,确保不会出现溢出、反转、除0 | | | 禁止对有符号整数进行位操作符运算 | | | 禁止对指针进行逻辑或位运算 | | | 循环次数如果收外部数据控制,需要检验其合法性 | | | 禁止使用内存操作类危险函数,需要使用安全函数 | | | 谨慎使用不可重入函数 | | | 必须检查安全函数的返回值,并进行正确处理 | | | 禁止仅通过TokenType类型判断绕过权限校验 | | **TDD Result**: **XTS Result**: ### 是否已执行L0用例 - [ ] 已验证 - [ ] 不涉及。如不涉及,请写明理由 See merge request: openharmony/ability_ability_runtime!19643 |
||
|
|
ed225712eb |
revert(test): drop skill_execute_manager_test
TDD cannot meaningfully simulate the cross-process IPC re-entrancy that
caused the original deadlock; in-process mocks of the callback never
exercise the actual deadlock path. Meanwhile the test pulls in private
singletons (DECLARE_DELAYED_SINGLETON) whose symbols are not exported
from libabilityms.so, turning the build setup into a maintenance burden.
Lock-ordering correctness is verified by code review of the production
fix (commit
|
||
|
|
434a65b3e4 |
fix(skill): blacklist Object.prototype member names as skill keys
napi_has_own_property does not catch toString/valueOf/etc. when the ArkTS class instance already owns those names (injected by the Stage model base class or by ArkTS compilation). Add an explicit blacklist of Object.prototype member names plus __proto__ and the legacy dunder accessors, and reject them in TryLoadSkillEntry and BuildSkillCallArgs for both JsUIAbility and JsServiceExtension before the own-property check. Co-Authored-By: Agent Signed-off-by: RuiChen_01 <chenrui193@huawei.com> 🤖 AI[100%] 👌 AI Adopted[100%] 🧑 Human[0%] Co-authored-by: claude (glm-5.2) <ai@local> |
||
|
|
aa478b7bed |
!19631 merge master0618 into master
AI告警修复 Created-by: dsz2025 Commit-by: duansizhao Merged-by: openharmony_ci Description: **IssueNo**: **Description**: **稳定性自检:** | 自检项 | 自检结果 | | ------------------------------------------------------------ | -------- | | 涉及跨进程调用的相关操作需要抛至主线程或加锁防止并发 | | | 成员变量进行赋值或创建需要排查并发 | | | 谨慎在lambda表达式中使用引用捕获 | | | 谨慎在未经拷贝的情况下使用外部传入的string、C字符串 | | | map\vector\list\set等stl模板类使用时需要排查并发 | | | 谨慎考虑加锁范围 | | | 在IPC通信中谨慎使用同步通信方式 | | | 禁止传递this指针至其他模块或线程(特别是eventhandler任务) | | | 禁止将外部传入的裸指针在内部直接构造智能指针 | | | 禁止多个独立创建的智能指针管理同一地址 | | | 禁止在析构函数中抛异步任务 | | | 禁止js对象在非js线程(例如在IPC线程)创建、使用或销毁 | | | 禁止在对外接口中未经判空直接使用外部传入的指针 | | | 禁止接口返回局部变量引用 | | | 禁止在信号函数中加锁 | | | 禁止在关键流程(SA启动、应用启动等主流程)执行耗时的操作 | | | 禁止将同一个cpp编译在不同的so中 | | **安全编码自检:** | 自检项 | 自检结果 | | -------------------------------------------------------------- | -------- | | 裸指针避免通过隐式转换构造为sptr | | | json对象在取值之前必须先判断类型,避免类型不匹配 | | | 序列化时必须对传入的数组大小进行校验,避免出现超大数组 | | | 避免使用未明确位宽的整型,选择使用int8_t、uint8_t等类型 | | | 外部传入的路径要做规范化校验,对路径中的.、..、../等特殊字符严格校验 | | | 指针变量、表示资源描述符的变量、bool变量必须赋初值 | | | readParcelable获取的对象使用前需要判空 | | | 分配和释放内存的函数需要成对出现 | | | 申请内存后异常退出前需要及时进行内存释放 | | | 内存申请前必须对内存大小进行合法性校验 | | | 内存分配后必须判断是否成功 | | | 禁止使用realloc、alloca函数 | | | 禁止打印文件路径、口令等敏感信息,如有需要,使用private修饰 | | | 禁止打印内存地址 | | | 整数之间运算时必须严格检查,确保不会出现溢出、反转、除0 | | | 禁止对有符号整数进行位操作符运算 | | | 禁止对指针进行逻辑或位运算 | | | 循环次数如果收外部数据控制,需要检验其合法性 | | | 禁止使用内存操作类危险函数,需要使用安全函数 | | | 谨慎使用不可重入函数 | | | 必须检查安全函数的返回值,并进行正确处理 | | | 禁止仅通过TokenType类型判断绕过权限校验 | | **TDD Result**: **XTS Result**: ### 是否已执行L0用例 - [ ] 已验证 - [ ] 不涉及。如不涉及,请写明理由  See merge request: openharmony/ability_ability_runtime!19631 |
||
|
|
0c004256f0 |
!19637 merge fix/skill_param_safe_parse into master
fix: replace std::stoi with strtol to prevent AMS crash Created-by: RuiChen_01 Commit-by: RuiChen_01 Merged-by: openharmony_ci Description: **IssueNo**: **Description**: **稳定性自检:** | 自检项 | 自检结果 | | ------------------------------------------------------------ | -------- | | 涉及跨进程调用的相关操作需要抛至主线程或加锁防止并发 | | | 成员变量进行赋值或创建需要排查并发 | | | 谨慎在lambda表达式中使用引用捕获 | | | 谨慎在未经拷贝的情况下使用外部传入的string、C字符串 | | | map\vector\list\set等stl模板类使用时需要排查并发 | | | 谨慎考虑加锁范围 | | | 在IPC通信中谨慎使用同步通信方式 | | | 禁止传递this指针至其他模块或线程(特别是eventhandler任务) | | | 禁止将外部传入的裸指针在内部直接构造智能指针 | | | 禁止多个独立创建的智能指针管理同一地址 | | | 禁止在析构函数中抛异步任务 | | | 禁止js对象在非js线程(例如在IPC线程)创建、使用或销毁 | | | 禁止在对外接口中未经判空直接使用外部传入的指针 | | | 禁止接口返回局部变量引用 | | | 禁止在信号函数中加锁 | | | 禁止在关键流程(SA启动、应用启动等主流程)执行耗时的操作 | | | 禁止将同一个cpp编译在不同的so中 | | **安全编码自检:** | 自检项 | 自检结果 | | -------------------------------------------------------------- | -------- | | 裸指针避免通过隐式转换构造为sptr | | | json对象在取值之前必须先判断类型,避免类型不匹配 | | | 序列化时必须对传入的数组大小进行校验,避免出现超大数组 | | | 避免使用未明确位宽的整型,选择使用int8_t、uint8_t等类型 | | | 外部传入的路径要做规范化校验,对路径中的.、..、../等特殊字符严格校验 | | | 指针变量、表示资源描述符的变量、bool变量必须赋初值 | | | readParcelable获取的对象使用前需要判空 | | | 分配和释放内存的函数需要成对出现 | | | 申请内存后异常退出前需要及时进行内存释放 | | | 内存申请前必须对内存大小进行合法性校验 | | | 内存分配后必须判断是否成功 | | | 禁止使用realloc、alloca函数 | | | 禁止打印文件路径、口令等敏感信息,如有需要,使用private修饰 | | | 禁止打印内存地址 | | | 整数之间运算时必须严格检查,确保不会出现溢出、反转、除0 | | | 禁止对有符号整数进行位操作符运算 | | | 禁止对指针进行逻辑或位运算 | | | 循环次数如果收外部数据控制,需要检验其合法性 | | | 禁止使用内存操作类危险函数,需要使用安全函数 | | | 谨慎使用不可重入函数 | | | 必须检查安全函数的返回值,并进行正确处理 | | | 禁止仅通过TokenType类型判断绕过权限校验 | | **TDD Result**: **XTS Result**: ### 是否已执行L0用例 - [ ] 已验证 - [ ] 不涉及。如不涉及,请写明理由 See merge request: openharmony/ability_ability_runtime!19637 |
||
|
|
228caa934d |
!19598 merge log into master
fix log Created-by: xuzheheng Commit-by: xuzheheng Merged-by: openharmony_ci Description: **IssueNo**: https://gitcode.com/openharmony/ability_ability_runtime/issues/15454 **Description**: fix log **稳定性自检:** | 自检项 | 自检结果 | | ------------------------------------------------------------ | -------- | | 涉及跨进程调用的相关操作需要抛至主线程或加锁防止并发 | ok | | 成员变量进行赋值或创建需要排查并发 | ok | | 谨慎在lambda表达式中使用引用捕获 | ok | | 谨慎在未经拷贝的情况下使用外部传入的string、C字符串 | ok | | map\vector\list\set等stl模板类使用时需要排查并发 | ok | | 谨慎考虑加锁范围 | ok | | 在IPC通信中谨慎使用同步通信方式 | ok | | 禁止传递this指针至其他模块或线程(特别是eventhandler任务) | ok | | 禁止将外部传入的裸指针在内部直接构造智能指针 | ok | | 禁止多个独立创建的智能指针管理同一地址 | ok | | 禁止在析构函数中抛异步任务 | ok | | 禁止js对象在非js线程(例如在IPC线程)创建、使用或销毁 | ok | | 禁止在对外接口中未经判空直接使用外部传入的指针 | ok | | 禁止接口返回局部变量引用 | ok | | 禁止在信号函数中加锁 | ok | | 禁止在关键流程(SA启动、应用启动等主流程)执行耗时的操作 | ok | | 禁止将同一个cpp编译在不同的so中 | ok | **安全编码自检:** | 自检项 | 自检结果 | | -------------------------------------------------------------- | -------- | | 裸指针避免通过隐式转换构造为sptr | ok | | json对象在取值之前必须先判断类型,避免类型不匹配 | ok | | 序列化时必须对传入的数组大小进行校验,避免出现超大数组 | ok | | 避免使用未明确位宽的整型,选择使用int8_t、uint8_t等类型 | ok | | 外部传入的路径要做规范化校验,对路径中的.、..、../等特殊字符严格校验 | ok | | 指针变量、表示资源描述符的变量、bool变量必须赋初值 | ok | | readParcelable获取的对象使用前需要判空 | ok | | 分配和释放内存的函数需要成对出现 | ok | | 申请内存后异常退出前需要及时进行内存释放 | ok | | 内存申请前必须对内存大小进行合法性校验 | ok | | 内存分配后必须判断是否成功 | ok | | 禁止使用realloc、alloca函数 | ok | | 禁止打印文件路径、口令等敏感信息,如有需要,使用private修饰 | ok | | 禁止打印内存地址 | ok | | 整数之间运算时必须严格检查,确保不会出现溢出、反转、除0 | ok | | 禁止对有符号整数进行位操作符运算 | ok | | 禁止对指针进行逻辑或位运算 | ok | | 循环次数如果收外部数据控制,需要检验其合法性 | ok | | 禁止使用内存操作类危险函数,需要使用安全函数 | ok | | 谨慎使用不可重入函数 | ok | | 必须检查安全函数的返回值,并进行正确处理 | ok | | 禁止仅通过TokenType类型判断绕过权限校验 | ok | **TDD Result**:ok **XTS Result**:ok ### 是否已执行L0用例 - [ok ] 已验证 - [ ] 不涉及。如不涉及,请写明理由 See merge request: openharmony/ability_ability_runtime!19598 |
||
|
|
b80ed55df4 |
refactor(skill): extract TryLoadSkillEntry to slim LoadSkillFunction
LoadSkillFunction grew past the 50-line cap after adding the own-property check. Lift the TryLoadEntry lambda out into a private TryLoadSkillEntry member on JsUIAbility and JsServiceExtension so both stay under the limit. Co-Authored-By: Agent Signed-off-by: RuiChen_01 <chenrui193@huawei.com> 🤖 AI[100%] 👌 AI Adopted[100%] 🧑 Human[0%] Co-authored-by: claude (glm-5.2) <ai@local> |
||
|
|
f11ed67261 |
fix(skill): pass napi_value key to napi_has_own_property
Previous fix incorrectly passed const char* as the key argument of napi_has_own_property, whose signature requires napi_value. Build the string napi_value via napi_create_string_utf8 before the check so the own-property lookup compiles and behaves as intended. Co-Authored-By: Agent Signed-off-by: RuiChen_01 <chenrui193@huawei.com> 🤖 AI[100%] 👌 AI Adopted[100%] 🧑 Human[0%] Co-authored-by: claude (glm-5.2) <ai@local> |
||
|
|
ad705afe23 |
refactor: remove renderSession parameter passing
Simplify Window::Create and WindowScene::Init by removing renderSession
parameter. RenderSession is now obtained through Session interface.
Co-Authored-By: yuanwenjun
Signed-off-by: weixin_38774524 <1903700887@qq.com>
revert merge request: refactor: remove renderSession parameter passing
|
||
|
|
47d4aa01e3 |
so加载异常信息增强
Issue:https://gitcode.com/openharmony/arkcompiler_ets_runtime/issues/13180 Signed-off-by: wanghaha1204 <wangxiaojia5@h-partners.com> Co-Authored-By: Agent |
||
|
|
fbc3a3e871 |
fix(skill): restrict skill function lookup to own properties
Add napi_has_own_property checks in LoadSkillFunction and BuildSkillCallArgs for both JsUIAbility and JsServiceExtension to prevent caller-controlled functionName/skillArg keys from resolving to Object.prototype members (e.g. constructor, toString, __proto__) via the prototype chain. Co-Authored-By: Agent Signed-off-by: RuiChen_01 <chenrui193@huawei.com> 🤖 AI[100%] 👌 AI Adopted[100%] 🧑 Human[0%] Co-authored-by: claude (glm-5.2) <ai@local> |
||
|
|
728e863750 |
!19639 merge fix_vector into master
fix JSUtils::Convert2Value Created-by: ProfaneAria Commit-by: 任国军 Merged-by: openharmony_ci Description: **IssueNo**: **Description**: **稳定性自检:** | 自检项 | 自检结果 | | ------------------------------------------------------------ | -------- | | 涉及跨进程调用的相关操作需要抛至主线程或加锁防止并发 | | | 成员变量进行赋值或创建需要排查并发 | | | 谨慎在lambda表达式中使用引用捕获 | | | 谨慎在未经拷贝的情况下使用外部传入的string、C字符串 | | | map\vector\list\set等stl模板类使用时需要排查并发 | | | 谨慎考虑加锁范围 | | | 在IPC通信中谨慎使用同步通信方式 | | | 禁止传递this指针至其他模块或线程(特别是eventhandler任务) | | | 禁止将外部传入的裸指针在内部直接构造智能指针 | | | 禁止多个独立创建的智能指针管理同一地址 | | | 禁止在析构函数中抛异步任务 | | | 禁止js对象在非js线程(例如在IPC线程)创建、使用或销毁 | | | 禁止在对外接口中未经判空直接使用外部传入的指针 | | | 禁止接口返回局部变量引用 | | | 禁止在信号函数中加锁 | | | 禁止在关键流程(SA启动、应用启动等主流程)执行耗时的操作 | | | 禁止将同一个cpp编译在不同的so中 | | **安全编码自检:** | 自检项 | 自检结果 | | -------------------------------------------------------------- | -------- | | 裸指针避免通过隐式转换构造为sptr | | | json对象在取值之前必须先判断类型,避免类型不匹配 | | | 序列化时必须对传入的数组大小进行校验,避免出现超大数组 | | | 避免使用未明确位宽的整型,选择使用int8_t、uint8_t等类型 | | | 外部传入的路径要做规范化校验,对路径中的.、..、../等特殊字符严格校验 | | | 指针变量、表示资源描述符的变量、bool变量必须赋初值 | | | readParcelable获取的对象使用前需要判空 | | | 分配和释放内存的函数需要成对出现 | | | 申请内存后异常退出前需要及时进行内存释放 | | | 内存申请前必须对内存大小进行合法性校验 | | | 内存分配后必须判断是否成功 | | | 禁止使用realloc、alloca函数 | | | 禁止打印文件路径、口令等敏感信息,如有需要,使用private修饰 | | | 禁止打印内存地址 | | | 整数之间运算时必须严格检查,确保不会出现溢出、反转、除0 | | | 禁止对有符号整数进行位操作符运算 | | | 禁止对指针进行逻辑或位运算 | | | 循环次数如果收外部数据控制,需要检验其合法性 | | | 禁止使用内存操作类危险函数,需要使用安全函数 | | | 谨慎使用不可重入函数 | | | 必须检查安全函数的返回值,并进行正确处理 | | | 禁止仅通过TokenType类型判断绕过权限校验 | | **TDD Result**: **XTS Result**: ### 是否已执行L0用例 - [ ] 已验证 - [ ] 不涉及。如不涉及,请写明理由 See merge request: openharmony/ability_ability_runtime!19639 |
||
|
|
04f9a656e3 |
fix(test): compile skill_execute_manager.cpp into test binary
SkillExecuteManager uses DECLARE_DELAYED_SINGLETON, which makes its default constructor private. The symbol is hidden in libabilityms.so, so linking the test against the shared library fails with "undefined symbol SkillExecuteManager::SkillExecuteManager()". Add the production source to the test's sources so the constructor is defined locally, mirroring the ability_auto_startup_data_manager_test pattern. Pull in the mock bundle/app-manager libs and perm_verification dep that the source file transitively needs. Co-Authored-By: Agent Signed-off-by: RuiChen_01 <chenrui193@huawei.com> 🤖 AI[100%] 👌 AI Adopted[100%] 🧑 Human[0%] Co-authored-by: claude (glm-5.2) <ai@local> |
||
|
|
e98cc18686 |
fix(skill): release lock before invoking execute-done callback
ExecuteSkillDone and OnTimeout previously invoked callback->OnExecuteDone under mutex_. Since ffrt::mutex is non-recursive, a synchronous re-entry from the remote side back into SkillExecuteManager deadlocked the event handler thread. Even without re-entry, holding the lock across an outbound IPC while the business process is unresponsive stalls every other SkillExecuteManager operation. Move the callback invocation outside the critical section: flip the record state, run cleanup (RemoveSkillExecuteTimeoutLocked, RemoveRecord) under the lock, then drop the lock before issuing OnExecuteDone. Collapse OnTimeout's two-phase critical section into one to remove the TOCTOU window. Add skill_execute_manager_test covering happy paths, missing-record and state-mismatch failures, duplicate seq, post-done timeout, and the two re-entrancy scenarios that would have deadlocked pre-fix. Co-Authored-By: Agent Signed-off-by: RuiChen_01 <chenrui193@huawei.com> 🤖 AI[100%] 👌 AI Adopted[100%] 🧑 Human[0%] Co-authored-by: claude (glm-5.2) <ai@local> |
||
|
|
d2f510cb75 |
fix JSUtils::Convert2Value
Co-Authored-By: Agent Signed-off-by: 任国军 <renguojun1@h-partners.com> |
||
|
|
5164d842f9 |
!19638 merge fix/skill_permission_transfer into master
fix(skill): enforce SA caller and skill permission checks Created-by: RuiChen_01 Commit-by: RuiChen_01 Merged-by: openharmony_ci Description: **IssueNo**: **Description**: **稳定性自检:** | 自检项 | 自检结果 | | ------------------------------------------------------------ | -------- | | 涉及跨进程调用的相关操作需要抛至主线程或加锁防止并发 | | | 成员变量进行赋值或创建需要排查并发 | | | 谨慎在lambda表达式中使用引用捕获 | | | 谨慎在未经拷贝的情况下使用外部传入的string、C字符串 | | | map\vector\list\set等stl模板类使用时需要排查并发 | | | 谨慎考虑加锁范围 | | | 在IPC通信中谨慎使用同步通信方式 | | | 禁止传递this指针至其他模块或线程(特别是eventhandler任务) | | | 禁止将外部传入的裸指针在内部直接构造智能指针 | | | 禁止多个独立创建的智能指针管理同一地址 | | | 禁止在析构函数中抛异步任务 | | | 禁止js对象在非js线程(例如在IPC线程)创建、使用或销毁 | | | 禁止在对外接口中未经判空直接使用外部传入的指针 | | | 禁止接口返回局部变量引用 | | | 禁止在信号函数中加锁 | | | 禁止在关键流程(SA启动、应用启动等主流程)执行耗时的操作 | | | 禁止将同一个cpp编译在不同的so中 | | **安全编码自检:** | 自检项 | 自检结果 | | -------------------------------------------------------------- | -------- | | 裸指针避免通过隐式转换构造为sptr | | | json对象在取值之前必须先判断类型,避免类型不匹配 | | | 序列化时必须对传入的数组大小进行校验,避免出现超大数组 | | | 避免使用未明确位宽的整型,选择使用int8_t、uint8_t等类型 | | | 外部传入的路径要做规范化校验,对路径中的.、..、../等特殊字符严格校验 | | | 指针变量、表示资源描述符的变量、bool变量必须赋初值 | | | readParcelable获取的对象使用前需要判空 | | | 分配和释放内存的函数需要成对出现 | | | 申请内存后异常退出前需要及时进行内存释放 | | | 内存申请前必须对内存大小进行合法性校验 | | | 内存分配后必须判断是否成功 | | | 禁止使用realloc、alloca函数 | | | 禁止打印文件路径、口令等敏感信息,如有需要,使用private修饰 | | | 禁止打印内存地址 | | | 整数之间运算时必须严格检查,确保不会出现溢出、反转、除0 | | | 禁止对有符号整数进行位操作符运算 | | | 禁止对指针进行逻辑或位运算 | | | 循环次数如果收外部数据控制,需要检验其合法性 | | | 禁止使用内存操作类危险函数,需要使用安全函数 | | | 谨慎使用不可重入函数 | | | 必须检查安全函数的返回值,并进行正确处理 | | | 禁止仅通过TokenType类型判断绕过权限校验 | | **TDD Result**: **XTS Result**: ### 是否已执行L0用例 - [ ] 已验证 - [ ] 不涉及。如不涉及,请写明理由 See merge request: openharmony/ability_ability_runtime!19638 |
||
|
|
0791b8eef0 |
refactor(skill): carry callerTokenId via AbilityRequest instead of Want
Permission checks (CheckStaticCfgPermission, CheckCallServiceExtensionPermission, CheckStartByCallPermission) used to read SKILL_EXECUTE_PARAM_CALLER_TOKEN_ID straight out of the Want that flows through GenerateAbilityRequest. Because Want is attacker controlled on the public StartAbility paths, a forged callerTokenId could route the skill-specific permission branches in PermissionVerification (CheckSkillStartByCallPermission, JudgeInvisibleAndBackground) and borrow another app's identity. Add a dedicated AbilityRequest::skillCallerTokenId field populated solely by the trusted skill entrypoints: - ExecuteInAppSkill / ExecuteInAppSkillWithTokenId drop the want.SetParam calls and pass callerTokenId through to StartAbilityByCallWithSkill / StartExtensionAbilityWithSkill. - Those two helpers (and StartExtensionAbilityInner via a new optional parameter) set the AbilityRequest field after the request is generated. - The three permission checks now read abilityRequest.skillCallerTokenId instead of the Want. Forged Want params no longer influence permission decisions. Existing callers of StartExtensionAbilityInner are unaffected via the default parameter value. Co-Authored-By: Agent Signed-off-by: RuiChen_01 <chenrui193@huawei.com> 🤖 AI[100%] 👌 AI Adopted[100%] 🧑 Human[0%] Co-authored-by: claude (glm-5.2) <ai@local> |
||
|
|
2a61e68703 |
AI告警修复
Signed-off-by: duansizhao <duansizhao@huawei.com> Change-Id: I777539a98e617dd8675d341edc332484628abb22 |
||
|
|
a9d84cd946 |
修改GC时间区间判断
Co-Authored-By: Agent Signed-off-by: acdemicJava <yinhuiling@h-partners.com> |
||
|
|
9e718f59d3 |
fix(skill): enforce SA caller and skill permission checks
CheckSkillPermission previously only verified system-app status when callerTokenId was 0, leaving the CliToolMgr-proxied path (non-zero callerTokenId) without any verification. Add two layers of checks: - Direct IPC caller must be a system ability (IsSACall) - Indirect caller must hold every permission declared by the skill (AccessTokenKit::VerifyAccessToken) Also drop the callerTokenId=0 default and thread callerTokenId through the ExecuteInAppSkill path so the direct-call variant is also covered. Co-Authored-By: Agent Signed-off-by: RuiChen_01 <chenrui193@huawei.com> 🤖 AI[100%] 👌 AI Adopted[100%] 🧑 Human[0%] Co-authored-by: claude (glm-5.2) <ai@local> |
||
|
|
87a61229ae |
fix: replace std::stoi with strtol to prevent AMS crash
std::stoi throws std::invalid_argument / std::out_of_range on malformed input, and the srcCount value comes from untrusted cross-process Want data. Replace it with a ParseSrcCount helper built on strtol, which covers ERANGE / no-digit / trailing-char / negative / over-limit cases without exceptions. Co-Authored-By: Agent Signed-off-by: RuiChen_01 <chenrui193@huawei.com> 🤖 AI[100%] 👌 AI Adopted[100%] 🧑 Human[0%] Co-authored-by: claude (glm-5.2) <ai@local> |
||
|
|
83bb60fa69 |
!19629 merge revert/agent-connection into master
Revert "bugfix: agent connection not reused" Created-by: yangxuguang-huawei Commit-by: yangxuguang-huawei Merged-by: openharmony_ci Description: **IssueNo**: https://gitcode.com/openharmony/ability_ability_runtime/issues/15487 **Description**: **稳定性自检:** | 自检项 | 自检结果 | | ------------------------------------------------------------ | -------- | | 涉及跨进程调用的相关操作需要抛至主线程或加锁防止并发 | ok | | 成员变量进行赋值或创建需要排查并发 | ok| | 谨慎在lambda表达式中使用引用捕获 | ok| | 谨慎在未经拷贝的情况下使用外部传入的string、C字符串 | ok| | map\vector\list\set等stl模板类使用时需要排查并发 | ok| | 谨慎考虑加锁范围 | ok| | 在IPC通信中谨慎使用同步通信方式 | ok| | 禁止传递this指针至其他模块或线程(特别是eventhandler任务) | ok| | 禁止将外部传入的裸指针在内部直接构造智能指针 | ok| | 禁止多个独立创建的智能指针管理同一地址 | ok| | 禁止在析构函数中抛异步任务 | ok| | 禁止js对象在非js线程(例如在IPC线程)创建、使用或销毁 | ok| | 禁止在对外接口中未经判空直接使用外部传入的指针 | ok| | 禁止接口返回局部变量引用 | ok| | 禁止在信号函数中加锁 | ok| | 禁止在关键流程(SA启动、应用启动等主流程)执行耗时的操作 | ok| | 禁止将同一个cpp编译在不同的so中 | ok| **安全编码自检:** | 自检项 | 自检结果 | | -------------------------------------------------------------- | -------- | | 裸指针避免通过隐式转换构造为sptr | ok| | json对象在取值之前必须先判断类型,避免类型不匹配 | ok| | 序列化时必须对传入的数组大小进行校验,避免出现超大数组 | ok | | 避免使用未明确位宽的整型,选择使用int8_t、uint8_t等类型 | ok| | 外部传入的路径要做规范化校验,对路径中的.、..、../等特殊字符严格校验 | ok | | 指针变量、表示资源描述符的变量、bool变量必须赋初值 | ok| | readParcelable获取的对象使用前需要判空 | ok| | 分配和释放内存的函数需要成对出现 | ok| | 申请内存后异常退出前需要及时进行内存释放 | ok | | 内存申请前必须对内存大小进行合法性校验 | ok| | 内存分配后必须判断是否成功 | ok| | 禁止使用realloc、alloca函数 | ok| | 禁止打印文件路径、口令等敏感信息,如有需要,使用private修饰 | ok| | 禁止打印内存地址 | ok| | 整数之间运算时必须严格检查,确保不会出现溢出、反转、除0 | ok| | 禁止对有符号整数进行位操作符运算 | ok| | 禁止对指针进行逻辑或位运算 | ok| | 循环次数如果收外部数据控制,需要检验其合法性 | ok| | 禁止使用内存操作类危险函数,需要使用安全函数 | ok| | 谨慎使用不可重入函数 | ok| | 必须检查安全函数的返回值,并进行正确处理 | ok| | 禁止仅通过TokenType类型判断绕过权限校验 | ok| **TDD Result**: 已验证OK **XTS Result**: 已验证OK ### 是否已执行L0用例 - [x] 已验证 - [ ] 不涉及。如不涉及,请写明理由 See merge request: openharmony/ability_ability_runtime!19629 |
||
|
|
3daaad47e2 |
!19628 merge master into master
fix errCode Created-by: jsjzju Commit-by: jsjzju Merged-by: openharmony_ci Description: **IssueNo**: https://gitcode.com/openharmony/ability_ability_runtime/issues/15486 **Description**: **稳定性自检:** | 自检项 | 自检结果 | | ------------------------------------------------------------ | -------- | | 涉及跨进程调用的相关操作需要抛至主线程或加锁防止并发 | | | 成员变量进行赋值或创建需要排查并发 | | | 谨慎在lambda表达式中使用引用捕获 | | | 谨慎在未经拷贝的情况下使用外部传入的string、C字符串 | | | map\vector\list\set等stl模板类使用时需要排查并发 | | | 谨慎考虑加锁范围 | | | 在IPC通信中谨慎使用同步通信方式 | | | 禁止传递this指针至其他模块或线程(特别是eventhandler任务) | | | 禁止将外部传入的裸指针在内部直接构造智能指针 | | | 禁止多个独立创建的智能指针管理同一地址 | | | 禁止在析构函数中抛异步任务 | | | 禁止js对象在非js线程(例如在IPC线程)创建、使用或销毁 | | | 禁止在对外接口中未经判空直接使用外部传入的指针 | | | 禁止接口返回局部变量引用 | | | 禁止在信号函数中加锁 | | | 禁止在关键流程(SA启动、应用启动等主流程)执行耗时的操作 | | | 禁止将同一个cpp编译在不同的so中 | | **安全编码自检:** | 自检项 | 自检结果 | | -------------------------------------------------------------- | -------- | | 裸指针避免通过隐式转换构造为sptr | | | json对象在取值之前必须先判断类型,避免类型不匹配 | | | 序列化时必须对传入的数组大小进行校验,避免出现超大数组 | | | 避免使用未明确位宽的整型,选择使用int8_t、uint8_t等类型 | | | 外部传入的路径要做规范化校验,对路径中的.、..、../等特殊字符严格校验 | | | 指针变量、表示资源描述符的变量、bool变量必须赋初值 | | | readParcelable获取的对象使用前需要判空 | | | 分配和释放内存的函数需要成对出现 | | | 申请内存后异常退出前需要及时进行内存释放 | | | 内存申请前必须对内存大小进行合法性校验 | | | 内存分配后必须判断是否成功 | | | 禁止使用realloc、alloca函数 | | | 禁止打印文件路径、口令等敏感信息,如有需要,使用private修饰 | | | 禁止打印内存地址 | | | 整数之间运算时必须严格检查,确保不会出现溢出、反转、除0 | | | 禁止对有符号整数进行位操作符运算 | | | 禁止对指针进行逻辑或位运算 | | | 循环次数如果收外部数据控制,需要检验其合法性 | | | 禁止使用内存操作类危险函数,需要使用安全函数 | | | 谨慎使用不可重入函数 | | | 必须检查安全函数的返回值,并进行正确处理 | | | 禁止仅通过TokenType类型判断绕过权限校验 | | **TDD Result**: **XTS Result**: ### 是否已执行L0用例 - [ ] 已验证 - [ ] 不涉及。如不涉及,请写明理由 See merge request: openharmony/ability_ability_runtime!19628 |