Commit Graph

79 Commits

Author SHA1 Message Date
wangzhen 1de71622dd dynamic load image_native
Co-Authored-By: Agent

Signed-off-by: wangzhen <wangzhen416@huawei.com>

🤖‍ AI[98%] 👌 AI Adopted[98%] 🧑 Human[2%]

🤖‍ AI[0%] 👌 AI Adopted[0%] 🧑 Human[100%]

Change-Id: I0f5ee21f0ea499d0abc9a0690249f040cb715805
2026-06-16 14:38:54 +08:00
yewei0794 5dd86d5f1d ModObjDispatcher: add StructCreate metadata validation, missing error logs, and nested TDD tests
- StructCreate now rejects struct names not found in registered metadata, returning PROPERTY_NOT_FOUND
- Add missing TAG_LOGE for ValidateVariantTypeDeep IPC handle null path
- Add comprehensive nested scenario tests: 2-level/3-level nesting, circular reference detection, deep copy verification, overwrite no-leak, and nested type mismatch
- Add vt validation tests for Set_Remove, Set_Contains, Map_Get, Map_Remove, Map_ContainsKey
- Add StructCreate unknown/unregistered name rejection tests
- Fix existing tests to register struct metadata before StructCreate calls
- Add TypeInfoMatches TDD cases covering nested type comparison

Co-Authored-By: Agent
Signed-off-by: yewei0794 <weiyejxnf@163.com>
Change-Id: I960f1123815487dbb803c5f14a0cbff7e02e082f
2026-05-18 20:12:44 +08:00
xialiangwei1@huawei.com ed9fc1ae2b ispatcher
Signed-off-by: xialiangwei1@huawei.com <xialiangwei1@huawei.com>
Change-Id: Ia1683c3a69472b042818e467d5b40a9240190d2d
Co-Authored-By: Agent
2026-05-17 19:33:50 +08:00
xialiangwei e29b49e349 Merge branch 'dispatcher-0429' of git@gitcode.com:xialiangwei/ability_ability_runtime.git into 'master'
# Conflicts:
#   conflict interfaces/kits/c/ability_runtime/ability_runtime_common.h
Co-Authored-By:Agent
2026-05-16 20:37:22 +08:00
xialiangwei 5be87687e4 log
Signed-off-by: xialiangwei <2049500708@qq.com>
2026-05-16 20:35:05 +08:00
xialiangwei 2d4683f3ee log
Signed-off-by: xialiangwei <2049500708@qq.com>
2026-05-16 17:29:21 +08:00
xialiangwei 741458475e 增加日志
Signed-off-by: xialiangwei <2049500708@qq.com>
2026-05-16 17:07:31 +08:00
xialiangwei df348e4731 增加test
Signed-off-by: xialiangwei <2049500708@qq.com>
2026-05-16 12:33:56 +08:00
xialiangwei 2cfe1cfa71 modobj
Signed-off-by: xialiangwei <2049500708@qq.com>
2026-05-14 20:49:05 +08:00
xialiangwei 7748664b17 test
Signed-off-by: xialiangwei <2049500708@qq.com>
2026-05-13 19:52:36 +08:00
xialiangwei d245d8be3f dispatcher测试
Signed-off-by: xialiangwei <2049500708@qq.com>
2026-05-12 16:08:39 +08:00
xialiangwei 1d1895f7fd dispatcher测试
Signed-off-by: xialiangwei <2049500708@qq.com>
2026-05-12 15:07:16 +08:00
xialiangwei b5bc34eb37 dispatcher测试
Signed-off-by: xialiangwei <2049500708@qq.com>
2026-05-12 14:53:23 +08:00
xialiangwei 17bbf35761 dispatcher测试
Signed-off-by: xialiangwei <2049500708@qq.com>
2026-05-11 23:15:33 +08:00
xialiangwei 25c3eba1cc dispatcher测试
Signed-off-by: xialiangwei <2049500708@qq.com>
2026-05-11 15:49:20 +08:00
xialiangwei 2c70662c4d dispatcher测试
Signed-off-by: xialiangwei <2049500708@qq.com>
2026-05-09 18:15:04 +08:00
xialiangwei 1678258824 dispatcher测试
Signed-off-by: xialiangwei <2049500708@qq.com>
2026-05-09 11:56:23 +08:00
yewei0794 d52774d5da feat: add ModularObjectExtension connect management
Add service connect management for ModularObject extension type,
including service key generation, config query from Want params,
service record lifecycle management, and thread key generation.

Changes:
- Add ModularObject connect logic in AbilityConnectManager
- Add caller bundle name validation in AbilityManagerService
- Fix nullptr binding in ExtensionAbilityThread callback
- Add unit tests for ModularObject connect functions

Co-Authored-By: Agent
Signed-off-by: yewei0794 <weiyejxnf@163.com>
Change-Id: I6766a35db26f8c7bb29f72adcceef497cc7c3cdf
2026-05-08 19:40:50 +08:00
openharmony_ci 371de548e7 !19233 merge fix_ndk_inferface into master
fix ndk interface

Created-by: zhongshield1
Commit-by: zhongshield1
Merged-by: openharmony_ci
Description: **IssueNo**:
https://gitcode.com/openharmony/ability_ability_runtime/issues/15179
**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**:
![image.png](https://raw.gitcode.com/user-images/assets/4421702/13ef8afd-cbbb-4185-9b20-f8d28d39cb10/image.png 'image.png')
**XTS Result**:
不涉及
### 是否已执行L0用例
- [ ] 已验证
- [ ] 不涉及。如不涉及,请写明理由


See merge request: openharmony/ability_ability_runtime!19233
2026-05-08 17:43:16 +08:00
zhongshield1 06bd3fdfb4 fix ndk interface
Co-Authored-By: manual
Signed-off-by: zhongshield1 <zhangzezhong8@huawei-partners.com>
2026-05-08 15:01:12 +08:00
openharmony_ci 326b7e8ad2 !19064 merge pc_nas_stub_0422 into master
pc nas stub

Created-by: renjh5496
Commit-by: renjh5496
Merged-by: openharmony_ci
Description: **IssueNo**:
https://gitcode.com/openharmony/ability_ability_runtime/issues/15045
**Description**:
pc nas stub
**稳定性自检:**
| 自检项                                                       | 自检结果  |
| ------------------------------------------------------------ | -------- |
| 涉及跨进程调用的相关操作需要抛至主线程或加锁防止并发              |   完成        |
| 成员变量进行赋值或创建需要排查并发                               |   完成        |
| 谨慎在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!19064
2026-05-08 12:14:01 +08:00
xialiangwei 365b9ec34d dispatcher测试
Signed-off-by: xialiangwei <2049500708@qq.com>
2026-05-07 22:55:25 +08:00
renjh5496 9778162817 pc nas stub
Co-Authored-By: Shangben
Signed-off-by: renjh5496 <renjianhao@h-partners.com>
2026-05-07 16:41:40 +08:00
xialiangwei bd53924543 更新序列化反序列化
Signed-off-by: xialiangwei <2049500708@qq.com>
2026-05-07 09:08:00 +08:00
xialiangwei 14e4431290 dispatcher测试
Signed-off-by: xialiangwei <2049500708@qq.com>
2026-05-06 21:17:20 +08:00
xialiangwei ffcd827370 更新序列化反序列化
Signed-off-by: xialiangwei <2049500708@qq.com>
2026-05-06 16:29:34 +08:00
xialiangwei 951d74dd0d 修复string类型
Signed-off-by: xialiangwei <2049500708@qq.com>
2026-05-06 15:40:27 +08:00
xialiangwei 90b0a723a9 更新序列化反序列化
Signed-off-by: xialiangwei <2049500708@qq.com>
2026-05-03 16:48:03 +08:00
xialiangwei 6a5270fb86 ID
Signed-off-by: xialiangwei <2049500708@qq.com>
2026-04-29 16:35:29 +08:00
xialiangwei 7553bc6329 dispatcher测试
Signed-off-by: xialiangwei <2049500708@qq.com>
2026-04-29 14:45:02 +08:00
zhangyuhang72 1ec94d3690 ModularObjectExtension修改
Co-Authored-By:Agent

Signed-off-by: zhangyuhang72 <zhangyuhang72@h-partners.com>
Change-Id: Id21699820868e1745648403795a99a499f76fd49
2026-04-25 14:57:52 +08:00
wangzhen a7448f7e3a Add native thread support
Co-Authored-By: Agent

Signed-off-by: wangzhen <wangzhen416@huawei.com>
Change-Id: I3fe893b8010c10d64a69eefb23ae9bd32314e4a8
2026-04-24 15:34:39 +08:00
zhangyuhang72 dbb5f19a15 Connect ModularObjectExtension
Co-Authored-By:Agent

Signed-off-by: zhangyuhang72 <zhangyuhang72@h-partners.com>
Change-Id: I142c0ab148217c74d34403cb48fc67f9e87e1e9b
2026-04-21 19:37:36 +08:00
afei_123 293ba99256 OLE需求新接口适配
Signed-off-by: afei_123 <1260525120@qq.com>
2026-04-09 16:15:49 +08:00
renjianhao 96d7bd0983 fix interface name
Signed-off-by: renjianhao <renjianhao@h-partners.com>
2026-04-03 19:13:01 +08:00
openharmony_ci 4cb4f9d4ab !18734 merge test_modular_d_0322 into master
support modular object

Created-by: renjh5496
Commit-by: renjianhao
Merged-by: openharmony_ci
Description: **IssueNo**:
https://gitcode.com/openharmony/ability_ability_runtime/issues/14795
**Description**:

**稳定性自检:**
| 自检项                                                       | 自检结果  |
| ------------------------------------------------------------ | -------- |
| 涉及跨进程调用的相关操作需要抛至主线程或加锁防止并发              |    pass      |
| 成员变量进行赋值或创建需要排查并发                               |     pass     |
| 谨慎在lambda表达式中使用引用捕获                                |    pass      |
| 谨慎在未经拷贝的情况下使用外部传入的string、C字符串               |    pass      |
| map\vector\list\set等stl模板类使用时需要排查并发                |    pass      |
| 谨慎考虑加锁范围                                               |    pass      |
| 在IPC通信中谨慎使用同步通信方式                                 |     pass     |
| 禁止传递this指针至其他模块或线程(特别是eventhandler任务)        |    pass      |
| 禁止将外部传入的裸指针在内部直接构造智能指针                      |    pass      |
| 禁止多个独立创建的智能指针管理同一地址                           |     pass     |
| 禁止在析构函数中抛异步任务                                      |     pass     |
| 禁止js对象在非js线程(例如在IPC线程)创建、使用或销毁             |    pass      |
| 禁止在对外接口中未经判空直接使用外部传入的指针                    |    pass      |
| 禁止接口返回局部变量引用                                        |    pass      |
| 禁止在信号函数中加锁                                            |     pass     |
| 禁止在关键流程(SA启动、应用启动等主流程)执行耗时的操作           |     pass     |
| 禁止将同一个cpp编译在不同的so中                                 |     pass     |

**安全编码自检:**
| 自检项                                                          | 自检结果 |
| -------------------------------------------------------------- | -------- |
| 裸指针避免通过隐式转换构造为sptr                                 |   pass       |
| json对象在取值之前必须先判断类型,避免类型不匹配                   |     pass     |
| 序列化时必须对传入的数组大小进行校验,避免出现超大数组              |   pass       |
| 避免使用未明确位宽的整型,选择使用int8_t、uint8_t等类型            |    pass      |
| 外部传入的路径要做规范化校验,对路径中的.、..、../等特殊字符严格校验 |   pass       |
| 指针变量、表示资源描述符的变量、bool变量必须赋初值                  |    pass      |
| readParcelable获取的对象使用前需要判空                            |     pass     |
| 分配和释放内存的函数需要成对出现                                   |     pass     |
| 申请内存后异常退出前需要及时进行内存释放                            |    pass      |
| 内存申请前必须对内存大小进行合法性校验                              |     pass     |
| 内存分配后必须判断是否成功                                         |     pass     |
| 禁止使用realloc、alloca函数                                       |     pass     |
| 禁止打印文件路径、口令等敏感信息,如有需要,使用private修饰          |     pass     |
| 禁止打印内存地址                                                  |    pass      |
| 整数之间运算时必须严格检查,确保不会出现溢出、反转、除0               |    pass      |
| 禁止对有符号整数进行位操作符运算                                    |    pass      |
| 禁止对指针进行逻辑或位运算                                         |     pass     |
| 循环次数如果收外部数据控制,需要检验其合法性                         |     pass     |
| 禁止使用内存操作类危险函数,需要使用安全函数                         |   pass       |
| 谨慎使用不可重入函数                                               |    pass      |
| 必须检查安全函数的返回值,并进行正确处理                             |      pass    |
| 禁止仅通过TokenType类型判断绕过权限校验                             |    pass      |

**TDD Result**:

**XTS Result**:

### 是否已执行L0用例
- [ ] 已验证
- [ ] 不涉及。如不涉及,请写明理由


See merge request: openharmony/ability_ability_runtime!18734
2026-03-31 19:24:05 +08:00
renjianhao 7fa49544ae modularObject ndk
Signed-off-by: renjianhao <renjianhao@h-partners.com>
2026-03-31 09:07:12 +08:00
Luobniz21 6ce94c7b2d cfi_0323
Co-Authored-By:Agent
Signed-off-by: Luobniz21 <luoyicong@h-partners.com>
Change-Id: Id04d2fede8db6afb669481142413bb43e5b562c7
2026-03-24 09:23:06 +08:00
openharmony_ci 66ce29a434 !17908 merge optimize_so_size_1231 into master
优化静态so大小

Created-by: zhongshield1
Commit-by: zhangzezhong
Merged-by: openharmony_ci
Description: **IssueNo**:
https://gitcode.com/openharmony/ability_ability_runtime/issues/14056

**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!17908
2026-01-06 18:38:30 +08:00
zexin_c 21df490ba1 fix log
Signed-off-by: zexin_c <chenzexin14@huawei.com>
2026-01-05 11:26:34 +08:00
zhangzezhong f9d178ea3e 优化so大小
Signed-off-by: zhangzezhong <zhangzezhong8@huawei-partners.com>
2026-01-05 11:06:43 +08:00
zexin_c fcb705a51d add log&tdd
Signed-off-by: zexin_c <chenzexin14@huawei.com>
2025-12-30 21:45:13 +08:00
openharmony_ci 88d35175a2 !17784 merge master into master
修改遗留问题

Created-by: majian_lsyg
Commit-by: majian
Merged-by: openharmony_ci
Description: **IssueNo**:

**Description**:

**稳定性自检:**
| 自检项                                                       | 自检结果  |
| ------------------------------------------------------------ | -------- |
| 涉及跨进程调用的相关操作需要抛至主线程或加锁防止并发              |   pass   |
| 成员变量进行赋值或创建需要排查并发                              |   pass   |
| 谨慎在lambda表达式中使用引用捕获                                |   pass   |
| 谨慎在未经拷贝的情况下使用外部传入的string、C字符串               |   pass   |
| map\vector\list\set等stl模板类使用时需要排查并发               |   pass   |
| 谨慎考虑加锁范围                                               |   pass   |
| 在IPC通信中谨慎使用同步通信方式                                 |   pass   |
| 禁止传递this指针至其他模块或线程(特别是eventhandler任务)        |   pass   |
| 禁止将外部传入的裸指针在内部直接构造智能指针                      |   pass   |
| 禁止多个独立创建的智能指针管理同一地址                          |   pass   |
| 禁止在析构函数中抛异步任务                                      |   pass   |
| 禁止js对象在非js线程(例如在IPC线程)创建、使用或销毁             |   pass   |
| 禁止在对外接口中未经判空直接使用外部传入的指针                   |   pass   |
| 禁止接口返回局部变量引用                                       |   pass   |
| 禁止在信号函数中加锁                                          |   pass   |
| 禁止在关键流程(SA启动、应用启动等主流程)执行耗时的操作          |   pass   |
| 禁止将同一个cpp编译在不同的so中                                 |   pass   |

**安全编码自检:**
| 自检项                                                          | 自检结果 |
| -------------------------------------------------------------- | -------- |
| 裸指针避免通过隐式转换构造为sptr                                |   pass   |
| json对象在取值之前必须先判断类型,避免类型不匹配                   |   pass   |
| 序列化时必须对传入的数组大小进行校验,避免出现超大数组             |   pass   |
| 避免使用未明确位宽的整型,选择使用int8_t、uint8_t等类型            |   pass   |
| 外部传入的路径要做规范化校验,对路径中的.、..、../等特殊字符严格校验|   pass   |
| 指针变量、表示资源描述符的变量、bool变量必须赋初值                  |   pass   |
| readParcelable获取的对象使用前需要判空                            |   pass   |
| 分配和释放内存的函数需要成对出现                                   |   pass   |
| 申请内存后异常退出前需要及时进行内存释放                            |   pass   |
| 内存申请前必须对内存大小进行合法性校验                             |   pass   |
| 内存分配后必须判断是否成功                                         |   pass   |
| 禁止使用realloc、alloca函数                                       |   pass   |
| 禁止打印文件路径、口令等敏感信息,如有需要,使用private修饰          |   pass   |
| 禁止打印内存地址                                                  |          |
| 整数之间运算时必须严格检查,确保不会出现溢出、反转、除0               |   pass   |
| 禁止对有符号整数进行位操作符运算                                    |   pass   |
| 禁止对指针进行逻辑或位运算                                         |   pass   |
| 循环次数如果收外部数据控制,需要检验其合法性                         |   pass   |
| 禁止使用内存操作类危险函数,需要使用安全函数                         |   pass   |
| 谨慎使用不可重入函数                                               |   pass   |
| 必须检查安全函数的返回值,并进行正确处理                             |   pass   |
| 禁止仅通过TokenType类型判断绕过权限校验                             |   pass   |

**TDD Result**:

**XTS Result**:

### 是否已执行L0用例
- [ ] 已验证
- [ ] 不涉及。如不涉及,请写明理由


See merge request: openharmony/ability_ability_runtime!17784
2025-12-25 15:40:40 +08:00
zexin_c b67417e968 add ndk
Signed-off-by: zexin_c <chenzexin14@huawei.com>
2025-12-24 20:50:27 +08:00
majian ac56e1f688 update api24
Signed-off-by: majian <majian59@h-partners.com>
2025-12-20 14:36:16 +08:00
majian 9b9ad3ada9 修改遗留问题
Signed-off-by: majian <majian59@h-partners.com>
2025-12-19 16:34:26 +08:00
majian af9b30f9db update
Signed-off-by: majian <majian59@h-partners.com>
2025-12-17 15:31:51 +08:00
majian 52b3b18638 add tdd
Signed-off-by: majian <majian59@h-partners.com>
2025-12-17 12:05:36 +08:00
majian c26b3bcfc8 add interface
Signed-off-by: majian <majian59@h-partners.com>
2025-12-16 11:55:49 +08:00
majian 11d85626bb update
Signed-off-by: majian <majian59@h-partners.com>
2025-12-15 19:34:01 +08:00