| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
fix(dbinder): 增强远程消息参数校验 在 dbinder_service.c 中新增严格的参数验证: 1. 新增 IsValidSessionName 函数: - 验证 serviceNameLength 不超过最大长度 - 使用 strnlen 安全函数检查实际长度 - 确保声明长度与实际长度一致 2. 新增 IsValidReplyMessage 函数: - 集中管理所有验证逻辑 - NULL指针检查 - stub对象有效性验证 - 会话重复检查 3. 重构 MakeSessionByReplyMessage 函数: - 调用统一的验证函数 - 提高代码可读性和可维护性 符合OpenHarmony安全编码规范: - 规则4: 资源访问参数校验 - 规则33: 验证所有外部数据 - 规则35: 防止无符号整数回绕 - 规则47: 容器索引校验 Fixes #1875 Co-Authored-By: Agent Signed-off-by: x601760700 <lihanlin15@huawei.com> | 3 个月前 | |
fix: dbinder_service中IsValidSessionName函数使用strnlen替代strlen 使用strlen计算serviceName长度存在缓冲区越界读取风险,当serviceName没有正确的空终止符时,会读取超出缓冲区边界。 - 将strlen替换为strnlen,限制读取长度为SERVICENAME_LENGTH + 1 - 将realLen类型从uint32_t改为size_t,与strnlen返回值类型一致 - 增加长度上限校验realLen > SERVICENAME_LENGTH - 修正日志格式说明符%{public}zu以匹配size_t类型 - 新增两个单元测试用例验证边界情况 Fixes #1909 Co-Authored-By: Agent Signed-off-by: x601760700 <lihanlin15@huawei.com> | 2 个月前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 3 个月前 | ||
| 2 个月前 |