【三方库】ohos_mqtt v2.0.29 鸿蒙平台稳定性与质量提升
·
📢 【三方库】ohos_mqtt v2.0.29 鸿蒙平台稳定性与质量提升
ohos_mqtt v2.0.29 已发布。本次升级聚焦该库稳定性与质量提升,修复已知 UAF 与回调稳定性问题,兼容升级,开发者无需修改现有代码即可享受本次改进。推荐所有该库用户升级至本版本。
版本概览
| 类型 | 内容 |
|---|---|
| 稳定性 | 修复重复调用 reconnect 重复触发 onConnectFail 导致的 UAF 问题 #170、优化回调接口稳定性 #170 |
| 质量提升 | 修复通过 “content” 参数传递的证书无法正确获取的问题 |
稳定性提升
修复重复调用 reconnect 重复触发 onConnectFail 导致的 UAF 问题 [#170]
问题:重复调用 reconnect() 时,onConnectFail 回调被重复触发,回调内部访问的资源可能已被释放,导致 use-after-free(UAF)问题。同时,回调接口(BaseContext 的 SetMessage / GetMessage 等)缺乏线程安全保护,多线程并发访问时存在数据竞争风险。
修复:
- 重构
mqtt_client.cpp(452 行改动),修复 reconnect 重复触发onConnectFail的逻辑,确保回调只触发一次,消除 UAF 根因。 - 为
BaseContext::SetMessage/BaseContext::GetMessage新增std::lock_guard<std::mutex>互斥锁,保证回调接口的线程安全。
优化回调接口稳定性 [#170]
对 mqtt_impl.cpp(161 行改动)与 callback_info.h(29 行改动)进行回调机制重构,增强回调生命周期的管理,降低异常场景下的不稳定风险。
质量提升
修复通过 “content” 参数传递的证书无法正确获取的问题
修复通过 MQTT 连接选项的 “content” 参数传递 SSL 证书时,证书内容未完整发送到服务器的问题,确保基于 content 的证书认证正常工作。
兼容性说明
- 无 Breaking Changes,API 接口保持不变。
- 本次变更以缺陷修复与稳定性优化为主,现有代码无需修改。
- 从 v2.0.28 起升级至 v2.0.29 均为兼容性升级。
升级方式
- 鸿蒙原生:
oh-package.json5→"@ohos/mqtt": "^2.0.29",执行ohpm install。
相关链接
- 文档:https://gitcode.com/CPF-ApplicationTPC/ohos_mqtt/blob/master/README.md
- CHANGELOG:https://gitcode.com/CPF-ApplicationTPC/ohos_mqtt/blob/master/CHANGELOG.md
- 反馈:https://gitcode.com/CPF-ApplicationTPC/ohos_mqtt/issues
更多推荐



所有评论(0)